scripts/alias in rvm-1.0.8 vs scripts/alias in rvm-1.0.9
- old
+ new
@@ -76,66 +76,103 @@
"$rvm_path/scripts"/db "$rvm_path/config/alias" "$alias_name" "delete"
}
alias_create() {
- rvm_environment_identifier="${rvm_environment_identifier:-""}"
+
alias_name="${alias_name:-""}"
+
rvm_ruby_string="${rvm_ruby_string:-""}"
- if alias_conflicts_with_ruby "$alias_name"; then
+ if [[ "default" != "$alias_name" ]] && 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_path/scripts"/log "error" "\nusage: 'rvm alias [alias_name] [ruby_string]'\n"
+ if [[ -z "${rvm_environment_identifier:-""}" || -z "$alias_name" ]] ; then
+
+ "$rvm_path/scripts"/log "error" \
+ "\nusage: 'rvm alias [alias_name] [ruby_string]'\n"
+
result=1
else
+
+ if [[ "default" = "$alias_name" ]] ; then
+ rvm_alias=""
+ fi
+
if [[ -z "$rvm_alias" ]] ; then
+
rvm_ruby_string="$rvm_environment_identifier"
+
if [[ -z "$rvm_alias_expanded" ]]; then
+
rvm_expanding_aliases=1
+
__rvm_become
+
unset rvm_expanding_aliases
+
else
+
rvm_ruby_string="$rvm_environment_identifier"
+
fi
+
if [[ -z "$rvm_ruby_string" ]]; then
- "$rvm_path/scripts"/log "error" "\nUnknown ruby string '$rvm_ruby_string' specified\n"
+
+ "$rvm_path/scripts"/log "error" \
+ "\nUnknown ruby string '$rvm_ruby_string' specified\n"
+
result=1
- return
+
+ return $result
fi
- final_environment_identifier="$(__rvm_environment_identifier)"
- "$rvm_path/scripts"/log "info" "Creating alias $alias_name for $final_environment_identifier."
+
+ final_environment_identifier="${rvm_environment_identifier:-$(__rvm_environment_identifier)}"
+
+ "$rvm_path/scripts"/log "info" \
+ "Creating alias $alias_name for $final_environment_identifier."
+
ln -nfs "$rvm_path/rubies/$rvm_ruby_string" "$rvm_path/rubies/$alias_name"
- "$rvm_path/scripts"/log "info" "Recording alias $alias_name for $final_environment_identifier."
+
+ "$rvm_path/scripts"/log "info" \
+ "Recording alias $alias_name for $final_environment_identifier."
+
"$rvm_path/scripts"/db "$rvm_path/config/alias" "$alias_name" "$final_environment_identifier"
+
else
+
if [[ -d "$rvm_path/rubies/$alias_name" ]] ; then
- "$rvm_path/scripts"/log "error" "\n$rvm_path/rubies/$alias_name is taken and is *not* able to be an alias name.\n"
+
+ "$rvm_path/scripts"/log "error" \
+ "\n$rvm_path/rubies/$alias_name is taken and is *not* able to be an alias name.\n"
+
result=1
+
else
- "$rvm_path/scripts"/log "error" "\n$rvm_path/rubies/$alias_name is already aliased.\n"
+
+ "$rvm_path/scripts"/log "error" \
+ "\n$rvm_path/rubies/$alias_name is already aliased.\n"
+
result=1
+
fi
fi
fi
}
alias_list() {
- local item
+ local item items
- for item in "$rvm_path/rubies/"* ; do
+ items=($(cd "$rvm_path/rubies" ; find . -maxdepth 1 -mindepth 1 -type l | sed -e 's#./##'))
- if [[ -L "$item" ]] ; then
+ for item in "${items[@]}" ; do
- echo "$(basename "$item") => $("$rvm_path/scripts"/db "$rvm_path/config/alias" "$(basename "$item")")"
+ echo "$(basename "$item") => $("$rvm_path/scripts"/db "$rvm_path/config/alias" "$(basename "$item")")"
- fi
-
done
}
args=($*)
@@ -152,24 +189,36 @@
alias_name="${alias_name/${rvm_gemset_separator:-"@"}*/}"
else
gemset_name=""
fi
-if [[ ! -z "$alias_name" ]] ; then
+if [[ -n "$alias_name" ]] ; then
rvm_alias="$("$rvm_path/scripts/db" "$rvm_path/config/alias" "$alias_name")"
fi
if [[ "$action" = "delete" ]] ; then
+
alias_delete
+
elif [[ "$action" = "create" ]] ; then
+
alias_create
+
elif [[ "$action" = "list" ]] ; then
+
alias_list
+
elif [[ "$action" = "show" ]]; then
+
alias_show
+
+
elif [[ "$action" = "help" ]]; then
+
usage
+
else
+
usage
exit 1
fi
exit $?