scripts/alias in rvm-1.0.1 vs scripts/alias in rvm-1.0.2

- old
+ new

@@ -1,62 +1,66 @@ #!/usr/bin/env bash unset rvm_default_flag rvm_wrapper_name -source $rvm_scripts_path/base +source "$rvm_scripts_path"/base alias_conflicts_with_ruby() { # If default exists, we should return true. [[ "$1" == "default" && ! -L "$rvm_rubies_path/default" ]] && return 1 # Open for suggestions to a better way of doing this... alias_check_result="$( - \. $rvm_scripts_path/initialize - \. $rvm_scripts_path/selector - export rvm_ruby_string="$1" + \. \"$rvm_scripts_path/initialize\" + \. \"$rvm_scripts_path/selector\" + export rvm_ruby_string=\"$1\" __rvm_ruby_string > /dev/null 2>&1 echo "$?" )" if [[ "0" == "$alias_check_result" ]]; then - $rvm_scripts_path/log "error" "You are attempted to create an alias called '$1', which is recognized as a rvm ruby." + "$rvm_scripts_path"/log "error" "You are attempted to create an alias called '$1', which is recognized as a rvm ruby." return 0 fi return 1 unset alias_check_result } show_alias() { if [[ -z "$alias_name" ]]; then - $rvm_scripts_path/log "error" "usage: 'rvm alias show [alias_name]'" + "$rvm_scripts_path"/log "error" "usage: 'rvm alias show [alias_name]'" result=1 return fi - expanded_alias_name="$($rvm_scripts_path/db "$rvm_config_path/alias" "$alias_name")" + expanded_alias_name="$("$rvm_scripts_path"/db "$rvm_config_path/alias" "$alias_name")" if [[ -z "$expanded_alias_name" ]]; then - $rvm_scripts_path/log "error" "Unknown alias name: '$alias_name'" + "$rvm_scripts_path"/log "error" "Unknown alias name: '$alias_name'" result=1 else result=0 - echo "$expanded_alias_name" + if [[ -n "$gemset_name" ]] ; then + printf "${expanded_alias_name}${rvm_gemset_separator}${gemset_name}" + else + printf "$expanded_alias_name" + fi fi unset expanded_alias_name } delete_alias() { echo "Deleting alias: $alias_name" for link in "$rvm_rubies_path/$alias_name" ; do if [[ -L "$link" ]] ; then \rm -f $link ; fi done - $rvm_scripts_path/db "$rvm_config_path/alias" "$alias_name" "delete" + "$rvm_scripts_path"/db "$rvm_config_path/alias" "$alias_name" "delete" } create_alias() { if alias_conflicts_with_ruby "$alias_name"; then # Force it to an empty alias name to trigger the usage. alias_name="" fi if [[ -z "$rvm_environment_identifier" ]] || [[ -z "$alias_name" ]] ; then - $rvm_scripts_path/log "error" "usage: 'rvm alias [alias_name] [ruby_string]'" + "$rvm_scripts_path"/log "error" "usage: 'rvm alias [alias_name] [ruby_string]'" result=1 else if [[ -z "$rvm_alias" ]] ; then rvm_ruby_string="$rvm_environment_identifier" if [[ -z "$rvm_alias_expanded" ]]; then @@ -65,45 +69,49 @@ unset rvm_expanding_aliases else rvm_ruby_string="$rvm_environment_identifier" fi if [[ -z "$rvm_ruby_string" ]]; then - $rvm_scripts_path/log "error" "unknown ruby string specified" + "$rvm_scripts_path"/log "error" "unknown ruby string specified" result=1 return fi final_environment_identifier="$(__rvm_environment_identifier)" - $rvm_scripts_path/log "info" "Creating alias $alias_name for $final_environment_identifier." + "$rvm_scripts_path"/log "info" "Creating alias $alias_name for $final_environment_identifier." ln -nfs "$rvm_rubies_path/$rvm_ruby_string" "$rvm_rubies_path/$alias_name" - $rvm_scripts_path/log "info" "Recording alias $alias_name for $final_environment_identifier." - $rvm_scripts_path/db "$rvm_config_path/alias" "$alias_name" "$final_environment_identifier" + "$rvm_scripts_path"/log "info" "Recording alias $alias_name for $final_environment_identifier." + "$rvm_scripts_path"/db "$rvm_config_path/alias" "$alias_name" "$final_environment_identifier" else if [[ -d "$rvm_rubies_path/$alias_name" ]] ; then - $rvm_scripts_path/log "error" "$rvm_rubies_path/$alias_name is taken and is *not* able to be an alias name." + "$rvm_scripts_path"/log "error" "$rvm_rubies_path/$alias_name is taken and is *not* able to be an alias name." result=1 else - $rvm_scripts_path/log "error" "$rvm_rubies_path/$alias_name is already aliased." + "$rvm_scripts_path"/log "error" "$rvm_rubies_path/$alias_name is already aliased." result=1 fi fi fi } alias_list() { for item in $rvm_rubies_path/* ; do if [[ -L "$item" ]] ; then - echo "$(basename $item) => $($rvm_scripts_path/db "$rvm_config_path/alias" "$(basename "$item")")" + echo "$(basename "$item") => $("$rvm_scripts_path"/db "$rvm_config_path/alias" "$(basename "$item")")" fi done; unset item } action="$1" alias_name="$2" rvm_environment_identifier="$3" if [[ ! -f "$rvm_config_path/alias" ]] ; then \touch "$rvm_config_path/alias" ; fi +if printf "$alias_name" | \grep -q "$rvm_gemset_separator" ; then + gemset_name="${alias_name/*${rvm_gemset_separator}/}" + alias_name="${alias_name/${rvm_gemset_separator}*/}" +fi if [[ ! -z "$alias_name" ]] ; then - rvm_alias="$($rvm_scripts_path/db "$rvm_config_path/alias" "$alias_name")" + rvm_alias="$("$rvm_scripts_path"/db "$rvm_config_path/alias" "$alias_name")" fi # CLI API: # rvm alias create [alias_name] [ruby] # rvm alias delete [alias_name] @@ -116,10 +124,10 @@ elif [[ "$action" = "list" ]] ; then alias_list elif [[ "$action" = "show" ]]; then show_alias else - $rvm_scripts_path/log "error" "usage: 'rvm alias [action] [arguments]" + "$rvm_scripts_path"/log "error" "usage: 'rvm alias [action] [arguments]" fi unset action alias_name rvm_ruby_string rvm_environment_identifier final_environment_identifier exit $result