43 lines
1.1 KiB
Bash
43 lines
1.1 KiB
Bash
#!/bin/zsh
|
|
#
|
|
# Plugin to manage ruby versions with rvm by reading the `.ruby-version` and
|
|
# `.ruby-gemset` files to install and setup your ruby version and the gemset.
|
|
#
|
|
# Like the custom nvmrc one this will only do something if you have the
|
|
# `.ruby-version` file in the current directory to try and reduce the amount of
|
|
# work that gets done on `cd`
|
|
|
|
maybe_ruby_install() {
|
|
local version="$1"
|
|
|
|
if read -q "do?Ruby version ${version} is not installed, would you like to install it? (Y/N) "; then
|
|
echo ""
|
|
rvm install "${version}"
|
|
fi
|
|
|
|
echo ""
|
|
}
|
|
|
|
load_rubyrc() {
|
|
local ruby_version_path=".ruby-version"
|
|
local ruby_gemset_path=".ruby-gemset"
|
|
|
|
if [[ -f "$ruby_version_path" ]]; then
|
|
local ruby_version="$(cat "${ruby_version_path}")"
|
|
|
|
if [[ -z "$(rvm list strings | grep "$(cat .ruby-version)")" ]]; then
|
|
maybe_ruby_install "$ruby_version"
|
|
else
|
|
rvm use "$ruby_version" > /dev/null
|
|
fi
|
|
fi
|
|
|
|
if [[ -f "$ruby_gemset_path" ]]; then
|
|
rvm gemset use --create "$(cat "$ruby_gemset_path")"
|
|
fi
|
|
}
|
|
|
|
autoload -U add-zsh-hook
|
|
add-zsh-hook chpwd load_rubyrc
|
|
|
|
load_rubyrc
|