Skip to content

Commit

Permalink
split __rvm_select into subfunctions, update #2393
Browse files Browse the repository at this point in the history
  • Loading branch information
mpapis committed Dec 4, 2013
1 parent ec040a3 commit 48d1cb2
Showing 1 changed file with 32 additions and 13 deletions.
45 changes: 32 additions & 13 deletions scripts/selector
Original file line number Diff line number Diff line change
Expand Up @@ -393,21 +393,16 @@ __rvm_select_interpreter_missing()
return 2
}

# __rvm_select implementation version patch_level
__rvm_select()
__rvm_select_set_variable_defaults()
{
true ${rvm_gemset_name:=}
typeset _original_env_string
_original_env_string=${rvm_env_string}

# Set Variable Defaults
export -a rvm_configure_flags rvm_patch_names rvm_ree_options rvm_make_flags
export GEM_HOME GEM_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
export rvm_env_string rvm_action rvm_alias_expanded rvm_archive_extension rvm_bin_flag rvm_bin_path rvm_debug_flag rvm_default_flag rvm_delete_flag rvm_docs_type rvm_dump_environment_flag rvm_error_message rvm_expanding_aliases rvm_file_name rvm_gemdir_flag rvm_gemset_name rvm_gemstone_package_file rvm_gemstone_url rvm_head_flag rvm_hook rvm_install_on_use_flag rvm_llvm_flag rvm_loaded_flag rvm_niceness rvm_nightly_flag rvm_only_path_flag rvm_parse_break rvm_patch_original_pwd rvm_pretty_print_flag rvm_proxy rvm_quiet_flag rvm_reload_flag rvm_remove_flag rvm_ruby_alias rvm_ruby_args rvm_ruby_binary rvm_ruby_bits rvm_ruby_configure rvm_ruby_file rvm_ruby_gem_home rvm_ruby_gem_path rvm_ruby_global_gems_path rvm_ruby_home rvm_ruby_interpreter rvm_ruby_irbrc rvm_ruby_major_version rvm_ruby_make rvm_ruby_make_install rvm_ruby_minor_version rvm_ruby_mode rvm_ruby_name rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_patch rvm_ruby_patch_level rvm_ruby_release_version rvm_ruby_repo_url rvm_ruby_revision rvm_ruby_selected_flag rvm_ruby_sha rvm_ruby_string rvm_ruby_strings rvm_ruby_tag rvm_ruby_url rvm_ruby_user_tag rvm_ruby_version rvm_script_name rvm_sdk rvm_silent_flag rvm_sticky_flag rvm_system_flag rvm_token rvm_trace_flag rvm_use_flag rvm_user_flag rvm_verbose_flag rvm_wrapper_name
}

# First respect parameter
__rvm_select_detect_ruby_string()
{
rvm_ruby_string="${1:-${rvm_ruby_string:-}}"
# Then try to detect
if
[[ -z "${rvm_ruby_string:-}" ]]
then
Expand All @@ -419,9 +414,10 @@ __rvm_select()
then rvm_ruby_name="$rvm_ruby_string-$rvm_ruby_name"
fi
fi
}

__rvm_ruby_string || return $?

__rvm_select_interpreter_variables()
{
rvm_archive_extension="tar.gz"

if [[ -z "${rvm_ruby_interpreter:-}" ]]
Expand All @@ -444,7 +440,10 @@ __rvm_select()
return 1
fi
fi
}

__rvm_select_version_variables()
{
case "$rvm_ruby_version" in
(+([0-9]).+([0-9]).+([0-9]))
rvm_ruby_release_version="${rvm_ruby_version/.*/}"
Expand All @@ -458,13 +457,33 @@ __rvm_select()
rvm_ruby_minor_version=""
;;
esac
}

[[ "${rvm_ruby_interpreter}" == ext ]] ||
rvm_ruby_package_name="${rvm_ruby_package_name:-${rvm_ruby_string//-n*}}"
__rvm_select_default_variables()
{
if [[ "${rvm_ruby_interpreter}" != ext ]]
then rvm_ruby_package_name="${rvm_ruby_package_name:-${rvm_ruby_string//-n*}}"
fi

rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_string"
rvm_ruby_binary="$rvm_ruby_home/bin/ruby"
rvm_ruby_irbrc="$rvm_ruby_home/.irbrc"
}

# __rvm_select implementation-version-patch_level
__rvm_select()
{
true ${rvm_gemset_name:=}
typeset _original_env_string
_original_env_string=${rvm_env_string}

__rvm_select_set_variable_defaults &&
__rvm_select_detect_ruby_string "$1" &&
__rvm_ruby_string &&
__rvm_select_interpreter_variables &&
__rvm_select_version_variables &&
__rvm_select_default_variables ||
return $?

[[ "system" == "$rvm_ruby_interpreter" ]] ||
{
Expand Down

0 comments on commit 48d1cb2

Please sign in to comment.