dotfiles/shell/chruby

36 lines
951 B
Text
Executable file

if [[ -f $HOME/.nix-profile/share/chruby/chruby.sh ]]; then
source $HOME/.nix-profile/share/chruby/chruby.sh
elif [[ -f /opt/arch/share/chruby/chruby.sh ]]; then
source /opt/arch/share/chruby/chruby.sh
elif [[ -f /usr/local/share/chruby/chruby.sh ]]; then
source /usr/local/share/chruby/chruby.sh
fi
_has-chruby() {
type -f chruby >/dev/null 2>&1
}
_ruby-version() {
local check_dir=$PWD
local next_check_dir=${check_dir%/*}
while [ "$next_check_dir" != "" ]; do
if [[ -f "$check_dir/.ruby-version" ]]; then
cat "$check_dir/.ruby-version"
return
fi
check_dir="$next_check_dir"
next_check_dir=${check_dir%/*}
done
if [[ -f $HOME/.ruby-version ]]; then
cat $HOME/.ruby-version
return
fi
false
}
_auto-chruby() {
local ruby_version=$(_ruby-version)
if [[ -n "${ruby_version}" ]]; then
chruby "${ruby_version}"
fi
}