#!/usr/bin/env bash
rubygems_detect_ruby_lib_gem_path_from()
{
ruby_lib_gem_path="$( __rvm_ruby_config_get ${1}prefix "$ruby_path" )" || ruby_lib_gem_path=""
[[ -z "${ruby_lib_gem_path:-}" ]] ||
{
ruby_lib_gem_path="$( __rvm_ruby_config_get ${1}dir "$ruby_path" )" || ruby_lib_gem_path=""
ruby_lib_gem_path="${ruby_lib_gem_path%/*}"
}
[[ -n "${ruby_lib_gem_path:-}" ]] || return 1
[[ -d "${ruby_lib_gem_path}/gems" ]] || return 2
}
rubygems_detect_ruby_lib_gem_path_fallback()
{
rubygems_detect_ruby_lib_gem_path_from "rubylib" ||
rubygems_detect_ruby_lib_gem_path_from "lib" ||
return $?
ruby_lib_gem_path+="/gems"
\typeset ruby_version
ruby_version="$( __rvm_ruby_config_get ruby_version "$ruby_path")" || ruby_version=""
if
[[ -n "${ruby_version:-}" && -d "${ruby_lib_gem_path}/${ruby_version:-}" ]]
then
ruby_lib_gem_path+="$ruby_version"
elif
[[ -d "${ruby_lib_gem_path}/shared" ]]
then
ruby_lib_gem_path+="shared"
else
return 3
fi
}
rubygems_detect_ruby_lib_gem_path()
{
\typeset ruby_path
ruby_path="$( __rvm_which "${1:-ruby}" )" ||
{
rvm_error "Missing 'ruby' in 'rubygems_detect_ruby_lib_gem_path'."
return 1
}
ruby_lib_gem_path="$(
unset GEM_HOME GEM_PATH
"$ruby_path" -rrubygems -e 'puts Gem.default_dir' 2>/dev/null
)" || ruby_lib_gem_path=""
[[ -n "$ruby_lib_gem_path" ]] ||
rubygems_detect_ruby_lib_gem_path_fallback ||
return $?
}