prezto/modules/ruby/init.zsh

82 lines
2.2 KiB
Bash
Raw Normal View History

2012-02-01 04:37:51 +00:00
#
# Configures Ruby local installation, loads version managers, and defines
2012-06-13 01:02:14 +00:00
# aliases.
2012-02-01 04:37:51 +00:00
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Indrajit Raychaudhuri <irc@indrajit.com>
2012-02-01 04:37:51 +00:00
#
# Possible lookup locations for manually installed rbenv and rvm.
local_rbenv_paths=({$RBENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}rbenv}/bin/rbenv(N))
local_rvm_paths=({$RVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}rvm}/scripts/rvm(N))
2011-08-31 03:16:15 +00:00
# Load manually installed or package manager installed rbenv into the shell
# session.
if (( $#local_rbenv_paths || $+commands[rbenv] )); then
2012-05-20 20:12:56 +00:00
# Ensure manually installed rbenv is added to path when present.
[[ -s $local_rbenv_paths[1] ]] && path=($local_rbenv_paths[1]:h $path)
2012-05-20 20:12:56 +00:00
eval "$(rbenv init - zsh)"
# Load manually installed rvm into the shell session.
elif (( $#local_rvm_paths )); then
# Unset AUTO_NAME_DIRS since auto adding variable-stored paths to ~ list
# conflicts with rvm.
unsetopt AUTO_NAME_DIRS
source "$local_rvm_paths[1]"
2012-05-20 20:12:56 +00:00
2014-02-02 04:37:29 +00:00
# Load package manager installed chruby into the shell session.
elif (( $+commands[chruby-exec] )); then
if (( ! $+functions[chruby] )); then
source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh"
fi
2014-02-02 04:37:29 +00:00
if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then
if (( ! $+functions[chruby_auto] )); then
source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh"
fi
# If a default ruby is set, switch to it.
chruby_auto
2014-02-02 04:37:29 +00:00
fi
# Prepend local gems bin directories to PATH.
else
path=($HOME/.gem/ruby/*/bin(N) $path)
2011-08-31 03:16:15 +00:00
fi
unset local_rbenv
# Return if requirements are not found.
if (( ! $+commands[ruby] && ! $#functions[(i)r(benv|vm)] )); then
return 1
fi
2012-08-04 18:48:32 +00:00
#
# Aliases
2012-08-04 18:48:32 +00:00
#
2012-06-13 01:02:14 +00:00
2012-08-15 01:10:12 +00:00
# General
alias rb='ruby'
2012-06-13 01:02:14 +00:00
# Bundler
2012-07-23 19:00:44 +00:00
if (( $+commands[bundle] )); then
2012-08-15 01:10:12 +00:00
alias rbb='bundle'
2016-02-16 09:47:57 +00:00
alias rbbc='bundle clean'
2013-12-01 00:25:11 +00:00
alias rbbe='bundle exec'
alias rbbi='bundle install --path vendor/bundle'
alias rbbl='bundle list'
alias rbbo='bundle open'
alias rbbp='bundle package'
alias rbbu='bundle update'
2012-08-15 01:10:12 +00:00
alias rbbI='rbbi \
2013-12-01 00:25:11 +00:00
&& bundle package \
2012-07-23 19:00:44 +00:00
&& print .bundle >>! .gitignore \
2013-11-25 21:34:11 +00:00
&& print vendor/assets >>! .gitignore \
2012-07-23 19:00:44 +00:00
&& print vendor/bundle >>! .gitignore \
&& print vendor/cache >>! .gitignore'
fi