mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 04:46:41 +00:00
105 lines
2.1 KiB
Bash
Executable File
105 lines
2.1 KiB
Bash
Executable File
#
|
|
# Ruby environment setup.
|
|
#
|
|
|
|
install_ruby_global_packages () {
|
|
gem install --no-document \
|
|
brakeman \
|
|
'bundler:~> 1.0' \
|
|
'bundler:~> 2.0' \
|
|
bundler-audit \
|
|
foreman \
|
|
lunchy \
|
|
method_source \
|
|
pry-doc \
|
|
rbenv-rehash \
|
|
reek \
|
|
rubocop \
|
|
seeing_is_believing \
|
|
solargraph
|
|
}
|
|
|
|
# Aliases
|
|
alias po="powify"
|
|
alias lu="lunchy"
|
|
alias he="heroku"
|
|
alias f="foreman"
|
|
alias fs="foreman start"
|
|
alias fr="foreman run"
|
|
|
|
# Aliases for specific ruby commands
|
|
alias ru="bundle exec ruby"
|
|
alias ra="bundle exec rake"
|
|
alias rai="bundle exec rails"
|
|
alias rs="bundle exec rspec -f doc"
|
|
alias cu="bundle exec cucumber"
|
|
alias scu="RAILS_ENV=cucumber bundle exec spring cucumber"
|
|
alias va="vagrant"
|
|
|
|
alias bc="bundle check"
|
|
alias bco="bundle console"
|
|
|
|
if [ -n "$BASH_VERSION" ]; then
|
|
# Bundler aliases
|
|
alias be="bundle exec"
|
|
alias bl="bundle list"
|
|
alias bp="bundle package"
|
|
alias bo="bundle open"
|
|
alias bu="bundle update"
|
|
alias bi="bundle_install"
|
|
alias bcn="bundle clean"
|
|
fi
|
|
|
|
# lazy-load rbenv
|
|
if [ -d "$HOME/.rbenv/shims" ]; then
|
|
path_prepend "$HOME/.rbenv/shims"
|
|
fi
|
|
|
|
rbenv() {
|
|
eval "$(command rbenv init -)"
|
|
rbenv "$@"
|
|
}
|
|
|
|
rbenv-each-version () {
|
|
local current_version="$RBENV_VERSION"
|
|
|
|
for v in $(ls "${HOME}/.rbenv/versions"); do
|
|
echo "==> Ruby $v:"
|
|
export RBENV_VERSION="$v"
|
|
eval $*
|
|
done
|
|
|
|
export RBENV_VERSION="$current_version"
|
|
}
|
|
|
|
# lunchy auto-completion
|
|
if which gem &> /dev/null && gem which lunchy &> /dev/null; then
|
|
LUNCHY_DIR="$(dirname `gem which lunchy`)/../extras"
|
|
if [ -f "$LUNCHY_DIR/lunchy-completion.zsh" ]; then
|
|
. "$LUNCHY_DIR/lunchy-completion.zsh"
|
|
fi
|
|
fi
|
|
|
|
# Solargraph related commands
|
|
|
|
solargraph-install () {
|
|
rbenv-each-version "gem install solargraph"
|
|
}
|
|
|
|
solargraph-download-cores () {
|
|
rbenv-each-version "solargraph download-core"
|
|
}
|
|
|
|
solargraph-list-versions () {
|
|
rbenv-each-version "gem list -q solargraph"
|
|
}
|
|
|
|
rubygems-upgrade () {
|
|
rbenv-each-version "gem update --system"
|
|
}
|
|
|
|
upgrade-bundler () {
|
|
rbenv-each-version \
|
|
"gem install --no-document 'bundler:~> 1.0' 'bundler:~> 2.0'"
|
|
}
|