scripts/gemsets in rvm-1.0.3 vs scripts/gemsets in rvm-1.0.4

- old
+ new

@@ -94,43 +94,44 @@ return $? } gemset_create() { local gem_home="" + local gemset="" + local prefix=$(echo $rvm_ruby_gem_home | sed 's/'${rvm_gemset_separator}'.*$//') - rvm_ruby_gem_prefix=$(echo $rvm_ruby_gem_home | sed 's/'${rvm_gemset_separator}'.*$//') - for gemset in $(echo $gems_args) ; do + if [[ "$gemset" == *"${rvm_gemset_separator}"* ]]; then "$rvm_scripts_path/log" "error" "Can't do that, it contains a \"${rvm_gemset_separator}\"." continue fi - gem_home="${rvm_ruby_gem_prefix}${rvm_gemset_separator}${gemset}" + gem_home="${prefix}${rvm_gemset_separator}${gemset}" - mkdir -p "$gem_home" + [[ ! -d "$gem_home" ]] && mkdir -p "$gem_home" # When the globalcache is enabled, we need to ensure we setup the cache directory correctly. - if __rvm_using_gemset_globalcache; then + if __rvm_using_gemset_globalcache ; then if [[ -d "$gem_home/cache" && ! -L "$gem_home/cache" ]]; then mv "$gem_home/cache"/*.gem "$rvm_gems_cache_path/" 2>/dev/null rm -rf "$gem_home/cache" fi ln -nfs "$rvm_gems_cache_path" "$gem_home/cache" fi - "$rvm_scripts_path/log" "info" "Gemset '$gemset' created." + "$rvm_scripts_path/log" "info" "'$gemset' gemset created ($gem_home)." done + return 0 } gemset_list() { - rvm_ruby_selected_flag=${rvm_ruby_selected_flag:-0} rvm_gems_path="${rvm_gems_path:-""}" rvm_ruby_string="${rvm_ruby_string:-""}" - if [[ $rvm_ruby_selected_flag -eq 0 ]] ; then __rvm_select ; fi + if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select ; fi "$rvm_scripts_path/log" "info" "gemsets for $rvm_ruby_string (found in $rvm_gems_path/$rvm_ruby_string)\n" if [[ -n "$rvm_gems_path" ]] ; then if [[ -n "$rvm_ruby_string" ]] ; then @@ -142,26 +143,27 @@ else "$rvm_scripts_path/log" "error" "\$rvm_gems_path is not set!" return 1 fi printf "\n" + return 0 } gemset_delete() { - rvm_ruby_selected_flag=${rvm_ruby_selected_flag:-0} + if [[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] ; then __rvm_select ; fi - if [[ $rvm_ruby_selected_flag -eq 0 ]] ; then __rvm_select ; fi - if [[ -n "$rvm_gemset_name" ]] ; then gemdir="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}$rvm_gemset_name" if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then rm -rf "$gemdir" elif [[ -d "$gemdir" ]] ; then "$rvm_scripts_path/log" "warn" "Are you SURE you wish to remove the entire gemset directory '$rvm_gemset_name' ($gemdir)?" echo -n "(anything other than 'yes' will cancel) > " + read response + if [[ "yes" = "$response" ]] ; then rm -f $gemdir/cache 2>/dev/null rm -rf $gemdir else "$rvm_scripts_path/log" "info" "Not doing anything, phew... close call that one eh?" @@ -169,10 +171,12 @@ else "$rvm_scripts_path/log" "info" "$gemdir already does not exist." fi else "$rvm_scripts_path/log" "error" "A gemset name must be specified in order to delete a gems." + return 1 fi + return 0 } gemset_empty() { if [[ -z "$rvm_ruby_gem_home" ]] ; then __rvm_select ; fi gemdir="$rvm_ruby_gem_home"