12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/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 $?
- }
|