rvm 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/scripts/match CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ -z "$1" ]] || [[ -z "$2" ]] ; then exit 1 ; fi
3
+ if [[ -z "${1:-""}" ]] || [[ -z "${2:-""}" ]] ; then exit 1 ; fi
4
4
 
5
- if [[ -n "$(echo "$1" | awk "/${2}/")" ]] ; then exit 0 ; else exit 1 ; fi
5
+ if [[ -n "$(echo "${1}" | awk "/${2}/")" ]] ; then exit 0 ; else exit 1 ; fi
6
6
 
data/scripts/md5 CHANGED
@@ -1,9 +1,11 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- if [[ "$rvm_trace_flag" -eq 1 ]] ; then set -x ; export rvm_trace_flag ; fi
3
+ if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
4
4
 
5
- file="$1"
6
- md5="$2"
5
+ args=($*)
6
+ file="${args[0]}"
7
+ md5="${args[1]}"
8
+ args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
7
9
 
8
10
  if [[ "Linux" = "$(uname)" ]] ; then
9
11
  command="md5sum"
data/scripts/migrate CHANGED
@@ -7,7 +7,6 @@ source "$rvm_scripts_path/base"
7
7
  usage() {
8
8
  echo "Usage: rvm migrate from to" >&2
9
9
  echo "Moves all gemsets from one ruby to another." >&2
10
- exit 1
11
10
  }
12
11
 
13
12
  confirm() {
@@ -106,8 +105,13 @@ migrate_rubies() {
106
105
 
107
106
  }
108
107
 
109
- if [[ -z "$1" || "$#" != 2 ]]; then
110
- usage
108
+ args=($*)
109
+ source_ruby="${args[0]}"
110
+ destination_ruby="${args[1]}"
111
+ args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
112
+
113
+ if [[ -z "$source_ruby" || -z "$destination_ruby" ]]; then
114
+ usage ; exit 1
111
115
  fi
112
116
 
113
117
  source_ruby="$1"; shift
data/scripts/notes CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  system="$(uname)"
4
- item="$(tput setaf 2)* $(tput sgr0)"
4
+ item="* "
5
5
 
6
6
  if [[ "Linux" = "$system" ]] ; then
7
7
  for file in /etc/*-release ; do
8
8
  release="( $(cat $file) )" ; break
9
9
  done
10
- printf "\n\n$(tput setaf 2)Notes for ${system} $release$(tput sgr0)\n"
10
+ printf "\n\nNotes for ${system} $release\n"
11
11
 
12
- rvm_aptitude_binary="$(command -v aptitude)"
12
+ rvm_aptitude_binary="$(command -v aptitude || comand -v apt-get)"
13
13
  rvm_emerge_binary="$(command -v emerge)"
14
14
  rvm_pacman_binary="$(command -v pacman)"
15
15
  rvm_yum_binary="$(command -v yum)"
@@ -18,6 +18,7 @@ if [[ "Linux" = "$system" ]] ; then
18
18
  printf "\n $item curl is required.\n"
19
19
  printf "\n $item patch is required (for ree, some ruby head's).\n"
20
20
  printf "\n $item If you wish to install rbx and/or any MRI head (eg. 1.9.2-head) then you must install and use rvm 1.8.7 first.\n"
21
+ printf "\n $item If you wish to have the 'pretty colors' again, set 'export rvm_pretty_print=1' in ~/.rvmrc.\n"
21
22
 
22
23
  if [[ ! -z "$rvm_aptitude_binary" ]] ; then
23
24
  printf "\n $item For JRuby (if you wish to use it) you will need:"
@@ -62,7 +63,7 @@ if [[ "Linux" = "$system" ]] ; then
62
63
  fi
63
64
  elif [[ "Darwin" = "$system" ]] ; then
64
65
  release="( $(sw_vers -productName) )"
65
- printf "\n$(tput setaf 2)Notes for ${system} $release $(tput sgr0)\n"
66
+ printf "\nNotes for ${system} $release\n"
66
67
  printf "\n $item For Snow Leopard be sure to have XCode Tools Version 3.2.1 (1613) or later (there were bugs with the dvd release version)."
67
68
  printf "\n $item You should download the latest XCode tools from developer.apple.com. This is necessary since the dvd install for Snow Leopard has bugs."
68
69
  printf "\n $item If you intend on installing MacRuby you must install LLVM first."
data/scripts/package CHANGED
@@ -1,12 +1,15 @@
1
1
  #!/usr/bin/env bash
2
+
3
+ if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
4
+
2
5
  rvm_base_except="selector"
3
6
  source "$rvm_scripts_path/base"
4
7
 
5
8
  # Tools to make managing ruby dependencies inside of rvm easier.
6
-
7
- action="$1" ; shift
8
- library="$1" ; shift
9
- args="$(echo $*) " # Strip trailing / leading / extra spacing.
9
+ args=($*)
10
+ action="${args[0]}"
11
+ library="${args[1]}"
12
+ args="$(echo ${args[@]:2})"
10
13
 
11
14
  install_package() {
12
15
 
data/scripts/patches CHANGED
@@ -12,12 +12,13 @@ __rvm_patch_lookup_path() {
12
12
  }
13
13
 
14
14
  __rvm_expand_patch_name() {
15
- [[ -z "$1" ]] && return
16
- expanded_patch_name="$("$rvm_scripts_path/patchsets" show "$1")"
15
+ local name="$1"
16
+ [[ -z "$name" ]] && return 0
17
+ expanded_patch_name="$("$rvm_scripts_path/patchsets" show "$name")"
17
18
  if [[ "$?" == "0" ]]; then
18
- echo "$expanded_patch_name"
19
- elif [[ "$1" != "default" ]]; then
20
- echo "$1"
19
+ echo "${expanded_patch_name}"
20
+ elif [[ "$name" != "default" ]]; then
21
+ echo "$name"
21
22
  fi ; unset expanded_patch_name
22
23
  }
23
24
 
data/scripts/patchsets CHANGED
@@ -34,13 +34,18 @@ __rvm_lookup_full_patch_path() {
34
34
  }
35
35
 
36
36
  usage() {
37
- echo "Usage: 'rvm patchset {show,lookup}'"
37
+ echo "Usage: 'rvm patchset {show,lookup} [patchset]'"
38
38
  echo " Tools for manipulating patchsets."
39
39
  return 1
40
40
  }
41
41
 
42
- case "$1" in
43
- show|lookup) lookup_patchset "$2" ;;
42
+ args=($*)
43
+ action="${args[0]}"
44
+ patchset="${args[1]}"
45
+ args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
46
+
47
+ case "$action" in
48
+ show|lookup) lookup_patchset "$patchset" ;;
44
49
  *) usage ;;
45
50
  esac
46
51
 
data/scripts/repair CHANGED
@@ -50,12 +50,15 @@ repair_all() {
50
50
  "$rvm_scripts_path/log" "info" "All items repaired."
51
51
  }
52
52
 
53
- if [[ -z "$1" ]]; then
54
- usage
55
- exit $?
53
+ args=($*)
54
+ action="${args[0]}"
55
+ args="$(echo ${args[@]:1}) " # Strip trailing / leading / extra spacing.
56
+
57
+ if [[ -z "$action" ]]; then
58
+ usage ; exit $?
56
59
  fi
57
60
 
58
- case "$1" in
61
+ case "$action" in
59
62
  all) repair_all ;;
60
63
  symlinks) repair_symlinks ;;
61
64
  environments) repair_environments ;;
data/scripts/rubygems CHANGED
@@ -87,10 +87,11 @@ fi
87
87
  #
88
88
  # rvm rubygems use X
89
89
  #
90
- if [[ $# -gt 0 ]] ; then
91
- version="$1" ; shift
92
- args="$(echo "$@" | __rvm_strip)"
93
- else
90
+ args=($*)
91
+ version="${args[0]}"
92
+ args="$(echo ${args[@]:1}) " # Strip trailing / leading / extra spacing.
93
+
94
+ if [[ -z "$version" ]] ; then
94
95
  "$rvm_scripts_path/log" "error" "A version must be specified, for example 'rvm rubygems 1.3.7'"
95
96
  exit 1
96
97
  fi
data/scripts/rvm CHANGED
@@ -4,11 +4,10 @@
4
4
  # http://rvm.beginrescueend.com
5
5
  # http://github.com/wayneeseguin/rvm
6
6
 
7
- rvm_reload_flag="${rvm_reload_flag:-0}"
8
- rvm_loaded_flag="${rvm_loaded_flag:-0}"
9
-
10
- if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
11
- unset rvm_reload_flag
7
+ rvm_reload_flag=${rvm_reload_flag:-0}
8
+ rvm_loaded_flag=${rvm_loaded_flag:-0}
9
+ if [[ $rvm_loaded_flag -eq 0 || $rvm_reload_flag -eq 1 ]] ; then
10
+ rvm_reload_flag=0
12
11
 
13
12
  if [[ -z "$rvm_ignore_rvmrc" ]]; then
14
13
  for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do
@@ -54,14 +53,13 @@ if [[ "$rvm_loaded_flag" != "1" ]] || [[ "$rvm_reload_flag" = "1" ]] ; then
54
53
  rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
55
54
 
56
55
  if [[ -d "$rvm_path" ]] ; then
57
- source "$rvm_scripts_path/array"
58
- source "$rvm_scripts_path/utility"
59
- source "$rvm_scripts_path/initialize"
60
- source "$rvm_scripts_path/version"
61
- source "$rvm_scripts_path/selector"
62
- source "$rvm_scripts_path/cli"
63
- source "$rvm_scripts_path/cd"
64
- source "$rvm_scripts_path/override_gem"
56
+ for script in array utility initialize version selector cli cd override_gem ; do
57
+ if [[ -f "$rvm_scripts_path/$script" ]] ; then
58
+ source "$rvm_scripts_path/$script"
59
+ else
60
+ "$rvm_scripts_path/log" "error" "RVM: Could not source script '$rvm_scripts_path/$script', file does not exist. RVM will likely not work as expected."
61
+ fi
62
+ done
65
63
 
66
64
  rvm_loaded_flag=1
67
65
 
data/scripts/rvm-install CHANGED
@@ -201,7 +201,7 @@ fi
201
201
  spinner
202
202
  if [[ -d gemsets/ ]] ; then
203
203
  \mkdir -p "$rvm_gemsets_path"
204
- for gemset_file in $(cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
204
+ for gemset_file in $(builtin cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
205
205
  destination="$rvm_gemsets_path/$gemset_file"
206
206
  destination_path="$(dirname "$destination")"
207
207
  if [[ ! -s "$destination" ]] ; then
@@ -214,7 +214,7 @@ fi
214
214
  spinner
215
215
  if [[ -d patchsets/ ]] ; then
216
216
  \mkdir -p "$rvm_patchsets_path"
217
- for patchset_file in $(cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
217
+ for patchset_file in $(builtin cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
218
218
  destination="$rvm_patchsets_path/$patchset_file"
219
219
  destination_path="$(dirname "$destination")"
220
220
  if [[ ! -s "$destination" ]] ; then
@@ -318,6 +318,7 @@ if [[ "$upgrade_flag" -eq 1 ]] ; then
318
318
  printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
319
319
  printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
320
320
  printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
321
+ printf "\n * If you wish to have the 'pretty colors' again, set 'export rvm_pretty_print=1' in ~/.rvmrc.\n"
321
322
  printf "\n$(tput sgr0)\n"
322
323
  check_rubyopt_conditions
323
324
  printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
data/scripts/selector CHANGED
@@ -2,7 +2,17 @@
2
2
 
3
3
  # __rvm_select implementation version patch_level
4
4
  __rvm_select() {
5
- if [[ -z "$rvm_ruby_string" ]] ; then
5
+ rvm_ruby_interpreter=${rvm_ruby_interpreter:-""}
6
+ rvm_head_flag=${rvm_head_flag:-0}
7
+ rvm_install_on_use_flag=${rvm_install_on_use_flag:-0}
8
+ rvm_ruby_version=${rvm_ruby_version:-""}
9
+ rvm_ruby_patch_level=${rvm_ruby_patch_level:-""}
10
+ rvm_ruby_revision=${rvm_ruby_revision:-""}
11
+ rvm_ruby_name=${rvm_ruby_name:-""}
12
+ rvm_ruby_gem_home=${rvm_ruby_gem_home:-""}
13
+ export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION
14
+
15
+ if [[ -z "${rvm_ruby_string:-""}" ]] ; then
6
16
  rvm_ruby_string="${rvm_ruby_interpreter}"
7
17
  [[ -n "$rvm_ruby_version" ]] && rvm_ruby_string="$rvm_ruby_string-$rvm_ruby_version"
8
18
  [[ -n "$rvm_ruby_patch_level" ]] && rvm_ruby_string="$rvm_ruby_string-$rvm_ruby_patch_level"
@@ -18,8 +28,8 @@ __rvm_select() {
18
28
  macruby)
19
29
  if [[ "Darwin" = "$(uname)" ]] ; then
20
30
  rvm_ruby_package_name=${rvm_ruby_interpreter}-${rvm_ruby_version}
21
- if [[ "$rvm_head_flag" -eq 1 ]] ; then
22
- unset rvm_ruby_version rvm_ruby_tag
31
+ if [[ $rvm_head_flag -eq 1 ]] ; then
32
+ rvm_ruby_version="" ; rvm_ruby_tag=""
23
33
  rvm_ruby_revision="head"
24
34
  __rvm_db "macruby_repo_url" "rvm_ruby_repo_url"
25
35
  rvm_url="$rvm_ruby_repo_url"
@@ -34,8 +44,7 @@ __rvm_select() {
34
44
  rvm_ruby_package_file="$rvm_ruby_package_name"
35
45
  rvm_url="$rvm_url/$rvm_ruby_package_name"
36
46
  fi
37
-
38
- unset rvm_ruby_patch_level
47
+ rvm_ruby_patch_level=""
39
48
  else
40
49
  "$rvm_scripts_path/log" "fail" "MacRuby can only be installed on a Darwin OS."
41
50
  fi
@@ -46,7 +55,7 @@ __rvm_select() {
46
55
  rvm_ruby_interpreter="rbx"
47
56
  rvm_ruby_version=${rvm_ruby_version:-$(__rvm_db "rbx_version")}
48
57
  rvm_ruby_repo_url=${rvm_rbx_repo_url:-$(__rvm_db "rubinius_repo_url")}
49
- if [[ -z "$rvm_head_flag" ]] ; then
58
+ if [[ $rvm_head_flag -eq 0 ]] ; then
50
59
  rvm_ruby_patch_level=${rvm_ruby_patch_level:-$(__rvm_db "rbx_patch_level")}
51
60
  rvm_ruby_string="${rvm_ruby_string/-prc/-rc}"
52
61
  rvm_ruby_string="$(echo "$rvm_ruby_string" | sed 's#-p*#-#')"
@@ -54,13 +63,13 @@ __rvm_select() {
54
63
  __rvm_db "rbx_url" "rvm_url"
55
64
  rvm_url="$rvm_url/$rvm_ruby_package_file"
56
65
  else
57
- unset rvm_ruby_patch_level rvm_ruby_version
66
+ rvm_ruby_patch_level="" ; rvm_ruby_version=""
58
67
  fi
59
68
  ;;
60
69
 
61
70
  jruby)
62
- unset rvm_ruby_patch_level
63
- if [[ ! -z "$rvm_head_flag" ]] ; then
71
+ rvm_ruby_patch_level=""
72
+ if [[ $rvm_head_flag -eq 1 ]] ; then
64
73
  rvm_ruby_version="head"
65
74
  rvm_ruby_repo_url="${rvm_ruby_repo_url:-$(__rvm_db "jruby_repo_url")}"
66
75
  rvm_url="${rvm_ruby_repo_url:-$(__rvm_db "jruby_repo_url")}"
@@ -71,16 +80,16 @@ __rvm_select() {
71
80
  rvm_ruby_package_file="${rvm_ruby_interpreter}-bin-${rvm_ruby_version}"
72
81
  rvm_ruby_package_name="${rvm_ruby_interpreter}-${rvm_ruby_version}"
73
82
  rvm_url="${jruby_url}/${rvm_ruby_version}/${rvm_ruby_package_file}.tar.gz"
74
- unset jruby_url
83
+ jruby_url=""
75
84
  fi
76
85
  alias jruby_ng="jruby --ng"
77
86
  alias jruby_ng_server="jruby --ng-server"
78
87
  ;;
79
88
 
80
89
  maglev)
81
- unset rvm_ruby_patch_level
90
+ rvm_ruby_patch_level=""
82
91
  maglev_url="$(__rvm_db "maglev_url")"
83
- if [[ ! -z "$rvm_head_flag" ]] ; then
92
+ if [[ $rvm_head_flag -eq 1 ]] ; then
84
93
  rvm_ruby_version="head"
85
94
  rvm_ruby_repo_url="${rvm_ruby_repo_url:-$(__rvm_db "maglev_repo_url")}"
86
95
  rvm_url="${rvm_ruby_repo_url:-$(__rvm_db "maglev_repo_url")}"
@@ -98,8 +107,8 @@ __rvm_select() {
98
107
  ;;
99
108
 
100
109
  ironruby)
101
- unset rvm_ruby_patch_level
102
- if [[ "$rvm_head_flag" -eq 1 ]] ; then
110
+ rvm_ruby_patch_level=""
111
+ if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
103
112
  rvm_ruby_version="head"
104
113
  rvm_ruby_package_name="${rvm_ruby_string}"
105
114
  rvm_ruby_repo_url="${rvm_ruby_repo_url:-$(__rvm_db "ironruby_repo_url")}"
@@ -123,7 +132,7 @@ __rvm_select() {
123
132
 
124
133
  if [[ "$rvm_ruby_version" != "head" ]] ; then
125
134
  if [[ ! -z "$rvm_ruby_revision" ]] ; then
126
- unset rvm_ruby_patch_level rvm_ruby_package_file
135
+ rvm_ruby_patch_level="" ; rvm_ruby_package_file=""
127
136
  rvm_ruby_package_name="ree-$rvm_ruby_version-$rvm_ruby_revision"
128
137
  else
129
138
  rvm_ruby_package_file="ruby-enterprise-$rvm_ruby_version-$rvm_ruby_patch_level"
@@ -140,18 +149,18 @@ __rvm_select() {
140
149
  rvm_ruby_interpreter="mput"
141
150
  rvm_ruby_version="head"
142
151
  rvm_ruby_string=$(echo $rvm_ruby_string | sed -e 's/shyouhei/mput/g')
143
- unset rvm_ruby_patch_level
152
+ rvm_ruby_patch_level=""
144
153
  rvm_ruby_repo_url=${rvm_mput_repo_url:-"$(__rvm_db "shyouhei_repo_url")"}
145
154
  rvm_url=$rvm_ruby_repo_url
146
- unset rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install
155
+ rvm_ruby_configure="" ; rvm_ruby_make="" ; rvm_ruby_make_install=""
147
156
  ;;
148
157
 
149
158
  ruby)
150
- if [[ -z "$rvm_ruby_version" && -z "$rvm_head_flag" ]]; then
159
+ if [[ -z "${rvm_ruby_version:-""}" && ${rvm_head_flag:-0} -eq 0 ]]; then
151
160
  "$rvm_scripts_path/log" "fail" "Unknown ruby version: $rvm_ruby_version"
152
161
  else
153
162
  rvm_ruby_repo_url="${rvm_ruby_repo_url:-"$(__rvm_db "ruby_repo_url")"}"
154
- if [[ -z "$rvm_head_flag" ]]; then
163
+ if [[ ${rvm_head_flag:-0} -eq 0 ]]; then
155
164
  rvm_archive_extension="tar.bz2"
156
165
  fi
157
166
  fi
@@ -223,14 +232,28 @@ __rvm_select() {
223
232
 
224
233
  __rvm_use() {
225
234
 
226
- if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select "$@" ; fi
235
+ rvm_ruby_selected_flag=${rvm_ruby_selected_flag:-0}
236
+ rvm_head_flag=${rvm_head_flag:-0}
237
+ rvm_default_flag=${rvm_default_flag:-0}
238
+ rvm_rvmrc_flag=${rvm_rvmrc_flag:-0}
239
+ rvm_verbose_flag=${rvm_verbose_flag:-0}
240
+ rvm_sticky_flag=${rvm_sticky_flag:-0}
241
+ rvm_ruby_interpreter="${rvm_ruby_interpreter:-""}"
242
+ rvm_gemset_name="${rvm_gemset_name:-""}"
243
+ rvm_ruby_gem_home="${rvm_ruby_gem_home:-""}"
244
+ rvm_wrapper_name="${rvm_wrapper_name:-""}"
245
+ rvm_ruby_alias="${rvm_ruby_alias:-""}"
246
+
247
+ local new_path=""
248
+
249
+ if [[ $rvm_ruby_selected_flag -eq 0 ]] ; then __rvm_select "$@" ; fi
227
250
  if [[ -z "$rvm_ruby_interpreter" ]] ; then rvm_ruby_interpreter="system" ; fi
228
251
 
229
252
  if [[ "system" = "$rvm_ruby_interpreter" ]] ; then
230
253
 
231
254
  unset GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
232
255
 
233
- new_path="$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf $PATH)"
256
+ new_path="$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
234
257
  if [[ -s $rvm_config_path/system ]] ; then
235
258
  \grep "MY_RUBY_HOME='$rvm_rubies_path" "$rvm_config_path/system" > /dev/null
236
259
  if [[ $? -eq 0 ]] ; then
@@ -241,16 +264,15 @@ __rvm_use() {
241
264
  fi
242
265
 
243
266
  # Check binaries, remove under the condition they're symlinks.
267
+ local binary full_binary_path
244
268
  if [[ "$rvm_selfcontained" = "0" ]] ; then
245
269
  for binary in ruby gem irb ri rdoc rake erb testrb ; do
246
270
  full_binary_path="$rvm_bin_path/$binary"
247
271
  [[ -L "$full_binary_path" ]] && \rm -f "$full_binary_path"
248
- done; unset binary full_binary_path
272
+ done
249
273
  fi
250
274
 
251
- if [[ ! -z "$rvm_verbose_flag" ]] ; then
252
- "$rvm_scripts_path/log" "info" "Now using system ruby."
253
- fi
275
+ [[ ${rvm_verbose_flag:-0} -eq 1 ]] && "$rvm_scripts_path/log" "info" "Now using system ruby."
254
276
 
255
277
  export rvm_ruby_string="system"
256
278
 
@@ -264,11 +286,11 @@ __rvm_use() {
264
286
 
265
287
  export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
266
288
 
267
- if [[ -z "$IRBRC" ]] ; then unset IRBRC ; fi
289
+ IRBRC=${IRBRC:-""} ; if [[ -z "$IRBRC" ]] ; then unset IRBRC ; fi
268
290
 
269
- if [[ ! -d $MY_RUBY_HOME ]] ; then
291
+ if [[ ! -d "$MY_RUBY_HOME" ]] ; then
270
292
  "$rvm_scripts_path/log" "warn" "$rvm_ruby_interpreter $rvm_ruby_string is not installed."
271
- if [[ ! -z "$rvm_install_on_use_flag" ]] ; then
293
+ if [[ $rvm_install_on_use_flag -eq 1 ]] ; then
272
294
  "$rvm_scripts_path/manage" "install" "$rvm_ruby_string"
273
295
  else
274
296
  "$rvm_scripts_path/log" "info" "To install do: 'rvm install $rvm_ruby_string'"
@@ -279,27 +301,27 @@ __rvm_use() {
279
301
  # Ensure the environment file for the selected ruby exists.
280
302
  __rvm_ensure_has_environment_files
281
303
 
282
- if [[ ! -z "$rvm_verbose_flag" ]] ; then
304
+ [[ ${rvm_verbose_flag:-0} -eq 1 ]] && \
283
305
  "$rvm_scripts_path/log" "info" "Using $(basename $GEM_HOME | \tr '-' ' ' | sed 's/'${rvm_gemset_separator}'/ with gemset /')"
284
- fi
285
306
 
286
- new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf $PATH)"
307
+ new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:$rvm_bin_path:$(__rvm_remove_rvm_from_path ; printf "$PATH")"
287
308
  fi
288
309
 
289
310
  # Export ruby string and gem set me for extrenal scripts to take advantage of them.
290
- if [[ -n "$rvm_ruby_string" ]] ; then export rvm_ruby_string ; fi
291
- if [[ -n "$rvm_gemset_name" ]] ; then export rvm_gemset_name ; fi
311
+ if [[ -n "${rvm_ruby_string:-""}" ]] ; then export rvm_ruby_string ; fi
312
+ if [[ -n "${rvm_gemset_name:-""}" ]] ; then export rvm_gemset_name ; fi
292
313
  if [[ -n "$new_path" ]]; then
293
314
  export PATH="$new_path"
294
315
  unset new_path
295
316
  builtin hash -r
296
317
  fi
297
- if [[ -n "$rvm_rvmrc_flag" ]] ; then __rvm_set_rvmrc ; fi
298
318
 
299
- environment_id="$(__rvm_environment_identifier)"
319
+ if [[ ${rvm_rvmrc_flag:-0} -eq 1 ]] ; then __rvm_set_rvmrc ; fi
300
320
 
301
- if [[ -n "$rvm_default_flag" && "default" != "$rvm_ruby_interpreter" ]] ; then
302
- if [[ "$rvm_selfcontained" = "0" ]] ; then
321
+ local environment_id="$(__rvm_environment_identifier)"
322
+
323
+ if [[ ${rvm_default_flag:-0} -eq 1 && "default" != "${rvm_ruby_interpreter:-""}" ]] ; then
324
+ if [[ "${rvm_selfcontained:-""}" = "0" ]] ; then
303
325
  # Sets up the default wrappers.
304
326
  "$rvm_scripts_path/wrapper" "$rvm_ruby_string" --no-prefix
305
327
  else
@@ -316,26 +338,26 @@ __rvm_use() {
316
338
  export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION
317
339
  "$rvm_scripts_path/alias" delete default &> /dev/null
318
340
  "$rvm_scripts_path/alias" create default "$environment_id" >& /dev/null
319
- ln -nfs "$rvm_environments_path/$environment_id" "$rvm_environments_path/default"
320
- ln -nfs "$rvm_wrappers_path/$environment_id" "$rvm_wrappers_path/default"
341
+ \ln -nfs "$rvm_environments_path/$environment_id" "$rvm_environments_path/default"
342
+ \ln -nfs "$rvm_wrappers_path/$environment_id" "$rvm_wrappers_path/default"
321
343
  fi
322
- fi ; unset rvm_default_flag
344
+ fi
345
+
346
+ rvm_default_flag=0
323
347
 
324
- if [[ -n "$rvm_wrapper_name" ]] ; then
348
+ if [[ -n "${rvm_wrapper_name:-""}" ]] ; then
325
349
  "$rvm_scripts_path/wrapper" "$environment_id" "$rvm_wrapper_name" > /dev/null 2>&1
326
- unset rvm_wrapper_name
350
+ rvm_wrapper_name=""
327
351
  fi
328
352
 
329
- if [[ -n "$rvm_ruby_alias" ]]; then
353
+ if [[ -n "${rvm_ruby_alias:-""}" ]]; then
330
354
  "$rvm_scripts_path/log" "info" "Attempting to alias $environment_id to $rvm_ruby_alias"
331
355
  "$rvm_scripts_path/alias" delete "$rvm_ruby_alias" > /dev/null 2>&1
332
356
  rvm_alias_expanded=1 "$rvm_scripts_path/alias" create "$rvm_ruby_alias" "$environment_id" > /dev/null 2>&1
333
- unset ruby_alias rvm_ruby_alias
357
+ ruby_alias="" ; rvm_ruby_alias=""
334
358
  fi
335
359
 
336
- unset environment_id
337
-
338
- if [[ "maglev" = "$rvm_ruby_interpreter" ]] ; then
360
+ if [[ "maglev" = "${rvm_ruby_interpreter:-""}" ]] ; then
339
361
  export MAGLEV_HOME="$rvm_ruby_home"
340
362
  export GEMSTONE_GLOBAL_DIR=$MAGLEV_HOME
341
363
  if [[ -x "$MAGLEV_HOME/gemstone/bin/gslist" ]] ; then
@@ -343,7 +365,10 @@ __rvm_use() {
343
365
  if [[ $result -eq 1 ]] ; then "$rvm_ruby_home/bin/maglev" start ; fi
344
366
  fi
345
367
  fi
368
+
346
369
  rvm_hook="after_use" ; source "$rvm_scripts_path/hook"
370
+
371
+ return 0
347
372
  }
348
373
 
349
374
  __rvm_ruby_string() {
@@ -355,83 +380,113 @@ __rvm_ruby_string() {
355
380
  # * rvm_ruby_revision
356
381
  # * rvm_ruby_tag
357
382
 
358
- if printf "$rvm_ruby_string" | \grep -q "$rvm_gemset_separator" ; then
359
- set_name="${rvm_ruby_string/*${rvm_gemset_separator}/}"
360
- else
361
- set_name=""
383
+ rvm_expanding_aliases=${rvm_expanding_aliases:-0}
384
+
385
+ rvm_ruby_version=${rvm_ruby_version:-""}
386
+ rvm_gemset_name=${rvm_gemset_name:-""}
387
+ rvm_ruby_interpreter=${rvm_ruby_interpreter:-""}
388
+ rvm_ruby_version=${rvm_ruby_version:-""}
389
+ rvm_ruby_patch_level=${rvm_ruby_patch_level:-""}
390
+ rvm_ruby_revision=${rvm_ruby_revision:-""}
391
+ rvm_ruby_tag=${rvm_ruby_tag:-""}
392
+
393
+ if echo "$rvm_ruby_string" | \grep -q "$rvm_gemset_separator" ; then
394
+ rvm_gemset_name="${rvm_ruby_string/*${rvm_gemset_separator}/}"
395
+ rvm_ruby_string="${rvm_ruby_string/${rvm_gemset_separator}*/}"
396
+ rvm_sticky_flag=1
362
397
  fi
363
- if [[ -n "$set_name" ]] ; then rvm_gemset_name="$set_name" ; fi
364
398
 
365
399
  # Alias'd rubies
366
- if [[ -z "$rvm_expanding_aliases" ]]; then
400
+ if [[ ${rvm_expanding_aliases:-0} -eq 0 ]]; then
367
401
  rvm_ruby_string="${rvm_ruby_string:-"default"}"
368
- expanded_alias_name="$($rvm_scripts_path/alias show "$rvm_ruby_string" 2>/dev/null)"
369
- if [[ -n "$expanded_alias_name" ]]; then
402
+
403
+ if expanded_alias_name="$("$rvm_scripts_path/alias" show "$rvm_ruby_string" 2>/dev/null)" && [[ -n "$expanded_alias_name" ]] ; then
370
404
  rvm_ruby_string="$expanded_alias_name"
405
+
371
406
  elif [[ "$rvm_ruby_string" = default ]]; then
372
407
  # Default is not a known value. Instead, we need to therefore set it to system.
373
408
  rvm_ruby_string="system"
374
409
  fi
375
410
  fi
411
+
376
412
  ruby_string=${rvm_ruby_string/${rvm_gemset_separator}*/}
377
413
 
378
414
  __rvm_unset_ruby_variables
379
415
 
380
416
  for string in $(printf "${ruby_string//-/ }") ; do
417
+
381
418
  if [[ "head" = "$string" ]] ; then
382
419
  rvm_ruby_revision="head"
383
- unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag
420
+ rvm_ruby_patch_level="" ; rvm_ruby_revision="" ; rvm_ruby_tag=""
384
421
  export rvm_head_flag=1
422
+
385
423
  elif [[ "system" = "$string" ]] ; then
386
424
  rvm_ruby_interpreter="system"
387
- unset rvm_ruby_patch_level rvm_ruby_tag rvm_head_flag rvm_ruby_revision rvm_ruby_version rvm_gemset_name
388
- return
425
+ rvm_ruby_patch_level="" ; rvm_ruby_tag="" ; rvm_head_flag=0 ; rvm_ruby_revision="" ; rvm_ruby_version="" ; rvm_gemset_name=""
426
+ return 0
427
+
389
428
  elif [[ "nightly" = "$string" ]] ; then
390
429
  rvm_ruby_version="nightly"
391
430
  rvm_nightly_flag=1
392
431
  break
432
+
393
433
  elif "$rvm_scripts_path/match" "$string" "^preview" ; then
394
434
  rvm_ruby_patch_level="$string"
435
+
395
436
  elif "$rvm_scripts_path/match" "$string" "^rc[0-9]" ; then
396
437
  rvm_ruby_patch_level="$string"
438
+
397
439
  elif "$rvm_scripts_path/match" "$string" "^[0-9]\.[0-9]" ; then
398
440
  rvm_ruby_version="$string"
399
- unset rvm_ruby_revision rvm_ruby_tag
441
+ rvm_ruby_revision="" ; rvm_ruby_tag=""
442
+
400
443
  elif "$rvm_scripts_path/match" "$string" "^p[0-9]" ; then
401
444
  rvm_ruby_patch_level="$string"
402
- elif [[ -n "$rvm_ruby_version" ]] && "$rvm_scripts_path/match" "$string" "^[0-9][0-9]" ; then
403
- if [[ "ree" = "$rvm_ruby_interpreter" ]] ; then
445
+
446
+ elif [[ -n "${rvm_ruby_version:-""}" ]] && "$rvm_scripts_path/match" "$string" "^[0-9][0-9]" ; then
447
+ if [[ "ree" = "${rvm_ruby_interpreter:-""}" ]] ; then
404
448
  rvm_ruby_patch_level="$string"
405
- unset rvm_ruby_revision
406
- elif [[ "rbx" = "$rvm_ruby_interpreter" ]] ; then
449
+ rvm_ruby_revision=""
450
+
451
+ elif [[ "rbx" = "${rvm_ruby_interpreter:-""}" ]] ; then
407
452
  rvm_ruby_patch_level="$string"
408
- elif [[ "maglev" = "$rvm_ruby_interpreter" ]] ; then
409
- rvm_ruby_version="$string"
410
- unset rvm_ruby_revision rvm_ruby_patch_level
453
+
454
+ elif [[ "maglev" = "${rvm_ruby_interpreter:-""}" ]] ; then
455
+ rvm_ruby_version="$string" ; rvm_ruby_revision="" ; rvm_ruby_patch_level=""
456
+
411
457
  else
412
458
  rvm_ruby_revision="r$string"
413
459
  fi
460
+
414
461
  elif "$rvm_scripts_path/match" "$string" "^r[0-9]" ; then
415
- unset rvm_ruby_patch_level
462
+ rvm_ruby_patch_level=""
416
463
  rvm_ruby_revision="$string"
464
+
417
465
  elif "$rvm_scripts_path/match" "$string" "^s[0-9]" ; then
418
- unset rvm_ruby_revision
466
+ rvm_ruby_revision=""
419
467
  rvm_ruby_sha="$string"
468
+
420
469
  elif "$rvm_scripts_path/match" "$string" "^t[v0-9]" ; then
421
- unset rvm_ruby_patch_level rvm_ruby_revision
470
+ rvm_ruby_patch_level="" ; rvm_ruby_revision=""
422
471
  rvm_ruby_tag="$string"
472
+
423
473
  elif "$rvm_scripts_path/match" "$string" "^m[0-9]" ; then
424
474
  rvm_ruby_mode="$string"
475
+
425
476
  elif "$rvm_scripts_path/match" "$string" "^u[a-z0-9]" ; then
426
- unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag rvm_ruby_patch
477
+ rvm_ruby_patch_level="" ; rvm_ruby_revision="" ; rvm_ruby_tag="" ; rvm_ruby_patch=""
427
478
  rvm_ruby_user_tag="$string"
479
+
428
480
  elif "$rvm_scripts_path/match" "$string" "^b[0-9][0-9]" ; then
429
481
  rvm_ruby_bits="$string"
482
+
430
483
  elif "$rvm_scripts_path/match" "$string" "^n" ; then
431
484
  rvm_ruby_name="${string/n/}"
485
+
432
486
  elif [[ "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby " =~ "$string " ]] ; then
433
487
  # NOTE: The space at the end of each of the above strings is *very* important.
434
488
  rvm_ruby_interpreter="$string"
489
+
435
490
  else
436
491
  "$rvm_scripts_path/log" "error" "Unknown ruby string component: '$string'"
437
492
  return 1
@@ -439,51 +494,62 @@ __rvm_ruby_string() {
439
494
  done
440
495
 
441
496
  # Unspecified interpreter
442
- if [[ -z "$rvm_ruby_interpreter" ]] ; then
497
+ if [[ -z "${rvm_ruby_interpreter:-""}" ]] ; then
498
+
443
499
  if "$rvm_scripts_path/match" "$rvm_ruby_version" "^1\.[8-9]" ; then
444
500
  rvm_ruby_interpreter="ruby"
501
+
445
502
  elif "$rvm_scripts_path/match" "$rvm_ruby_version" "^0.5" ; then
446
503
  rvm_ruby_interpreter="macruby"
504
+
447
505
  elif "$rvm_scripts_path/match" "$rvm_ruby_version" "^1.[2-4]" ; then
448
506
  rvm_ruby_interpreter="jruby"
449
507
  fi
450
508
  fi
451
509
 
452
510
  # Unspecified version
453
- if [[ -z "$rvm_ruby_version" ]] && [[ -z "$rvm_head_flag" ]]; then
511
+ rvm_ruby_version=${rvm_ruby_version:-""}
512
+ if [[ -z "${rvm_ruby_version:-""}" || ${rvm_head_flag:-0} -eq 0 ]] ; then
454
513
  rvm_ruby_version=${rvm_ruby_version:-"$(__rvm_db "${rvm_ruby_interpreter}_version")"}
455
514
  fi
456
515
 
457
- if [[ -z "$rvm_ruby_version" ]] ; then
516
+ if [[ -z "${rvm_ruby_version:-""}" ]] ; then
458
517
  rvm_ruby_string="${rvm_ruby_interpreter}"
459
518
  else
460
519
  rvm_ruby_string="${rvm_ruby_interpreter}-${rvm_ruby_version}"
461
520
  fi
462
521
 
463
522
  # Head
464
- if [[ "$rvm_head_flag" -eq 1 ]] ; then
523
+ if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
465
524
  rvm_ruby_string="${rvm_ruby_string}-head"
466
- elif [[ ! -z "$rvm_ruby_revision" ]] ; then
525
+
526
+ elif [[ -n "${rvm_ruby_revision:-""}" ]] ; then
467
527
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_revision}"
468
- elif [[ ! -z "$rvm_ruby_tag" ]] ; then
528
+
529
+ elif [[ -n "${rvm_ruby_tag:-""}" ]] ; then
469
530
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_tag}"
470
- elif [[ ! -z "$rvm_ruby_patch_level" ]] ; then
531
+
532
+ elif [[ -n "${rvm_ruby_patch_level:-""}" ]] ; then
471
533
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_patch_level}"
472
- elif [[ ! -z "$rvm_ruby_user_tag" ]] ; then
534
+
535
+ elif [[ -n "${rvm_ruby_user_tag:-""}" ]] ; then
473
536
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_user_tag}"
537
+
474
538
  else
475
539
  patch_level="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")"
476
- if [[ ! -z "$patch_level" ]] ; then
540
+
541
+ if [[ -n "${patch_level:-""}" ]] ; then
477
542
  if [[ "ree" = "$rvm_ruby_interpreter" ]] || [[ "rbx" = "$rvm_ruby_interpreter" ]] ; then
478
543
  rvm_ruby_patch_level="${patch_level}"
479
544
  else
480
545
  rvm_ruby_patch_level="p${patch_level}"
481
546
  fi
482
547
  fi
483
- if [[ ! -z "$rvm_ruby_patch_level" ]] ; then
548
+
549
+ if [[ -n "${rvm_ruby_patch_level:-""}" ]] ; then
484
550
  rvm_ruby_patch_level="$(echo $rvm_ruby_patch_level | sed 's#^pp#p#')"
485
551
  rvm_ruby_string="${rvm_ruby_string}-${rvm_ruby_patch_level}"
486
- if [[ "ree" = "$rvm_ruby_interpreter" ]] || [[ "rbx" = "$rvm_ruby_interpreter" ]] ; then
552
+ if [[ "ree" = "${rvm_ruby_interpreter:-""}" ]] || [[ "rbx" = "${rvm_ruby_interpreter:-""}" ]] ; then
487
553
  rvm_ruby_string="$(echo $rvm_ruby_string | sed 's#-p*#-#')"
488
554
  else
489
555
  rvm_ruby_string="$(echo $rvm_ruby_string | sed 's#-pp#-p#')"
@@ -492,7 +558,7 @@ __rvm_ruby_string() {
492
558
  fi
493
559
  fi
494
560
 
495
- if [[ -n "${rvm_ruby_name}" ]] ; then
561
+ if [[ -n "${rvm_ruby_name:-""}" ]] ; then
496
562
  rvm_ruby_string="${rvm_ruby_string}-n${rvm_ruby_name}"
497
563
  fi
498
564
  }
@@ -503,63 +569,68 @@ __rvm_gemset_select() {
503
569
  command -v gem > /dev/null
504
570
  if [[ $? -gt 0 ]] ; then return 0 ; fi # Stop if no 'gem' command is available.
505
571
 
572
+ rvm_ruby_gem_home=${rvm_ruby_gem_home:-""}
573
+ rvm_gemset_name=${rvm_gemset_name:-""}
574
+
506
575
  rvm_ruby_global_gems_path="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global"
507
576
 
508
- if [[ -z "$rvm_gemset_name" ]] ; then
577
+ if [[ -z "${rvm_gemset_name:-""}" ]] ; then
509
578
  # No longer defaulting to 'sticky' gem sets.
510
579
  # Set 'rvm_sticky_flag=1' in ~/.rvmrc to enable.
511
- if [[ -n "$rvm_sticky_flag" ]] ; then
512
- if [[ -n "$GEM_HOME" ]] ; then
580
+ if [[ ${rvm_sticky_flag:-0} -eq 1 ]] ; then
581
+ if [[ -n "${GEM_HOME:-""}" ]] ; then
513
582
  rvm_gemset_name=$(echo $GEM_HOME | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
514
583
  fi
515
- if [[ -n "$rvm_ruby_gem_home" ]] ; then
584
+
585
+ if [[ -n "${rvm_ruby_gem_home:-""}" ]] ; then
516
586
  rvm_gemset_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F${rvm_gemset_separator} '{print $2}')
517
587
  fi
518
588
  fi
519
589
 
520
- if [[ -n "$rvm_gemset_name" ]] && ! "$rvm_scripts_path/match" "$rvm_gemset_name" "^[0-9]\.[0-9]" ; then
590
+ if [[ -n "${rvm_gemset_name:-""}" ]] && ! "$rvm_scripts_path/match" "$rvm_gemset_name" "^[0-9]\.[0-9]" ; then
521
591
  rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
522
592
  else
523
- if [[ -n "$rvm_ruby_string" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
593
+ if [[ -n "${rvm_ruby_string:-""}" ]] && [[ "${rvm_ruby_interpreter:-""}" != "system" ]] ; then
524
594
  rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
525
- elif [[ -z "$GEM_HOME" ]] && [[ -n "$(command -v gem)" ]] ; then
595
+ elif [[ -z "${GEM_HOME:-""}" ]] && [[ -n "$(command -v gem)" ]] ; then
526
596
  rvm_ruby_gem_home=$(gem env gemdir)
527
- elif [[ -n "$GEM_HOME" ]] ; then
597
+ elif [[ -n "${GEM_HOME:-""}" ]] ; then
528
598
  rvm_ruby_gem_home="$GEM_HOME"
529
599
  else
530
- unset rvm_ruby_gem_home
600
+ rvm_ruby_gem_home=""
531
601
  fi
532
602
  fi
533
- if [[ -z "$rvm_gemset_name" ]] ; then unset rvm_gemset_name ; fi
534
603
  else
535
- gemset=$(echo "$rvm_ruby_gem_home" | awk -F'@' '{print $NF}')
536
- if [[ -z "$rvm_ruby_string" ]] && [[ -n "${GEM_HOME/@*/}" ]] ; then
604
+ local gemset=$(echo "$rvm_ruby_gem_home" | awk -F'@' '{print $NF}')
605
+ if [[ -z "${rvm_ruby_string:-""}" && -n "${GEM_HOME:-""}" && -n "${GEM_HOME/@*/}" ]] ; then
537
606
  rvm_ruby_string=$(basename ${GEM_HOME/@*/})
538
607
  fi
539
608
 
540
- if [[ -n "$rvm_ruby_string" ]] ; then
541
- if [[ -z "$rvm_ruby_gem_home" ]] || [[ -n "$gemset" ]] ; then
609
+ if [[ -n "${rvm_ruby_string:-""}" ]] ; then
610
+ if [[ -z "${rvm_ruby_gem_home:-""}" || -n "${gemset:-""}" ]] ; then
542
611
  rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
543
- elif [[ -n "$gemset" ]] && [[ "$rvm_gemset_name" != "$gemset" ]] ; then
612
+ elif [[ -n "${gemset:-""}" && "${rvm_gemset_name:-""}" != "${gemset:-""}" ]] ; then
544
613
  rvm_ruby_gem_home="$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
545
- fi ; unset gemset
614
+ fi
546
615
  else
547
616
  "$rvm_scripts_path/log" "error" "Gemsets can not be used with non rvm controlled rubies (currently)."
548
617
  return 1
549
618
  fi
550
619
  fi
551
620
 
621
+ if [[ -z "${GEM_HOME:-""}" ]] ; then unset GEM_HOME ; fi
622
+
552
623
  # If the gemset does not exist, then notify the user as such and abort the action.
553
- if [[ -n "$rvm_gemset_name" ]] && [[ ! -d "$rvm_ruby_gem_home" ]] ; then
554
- if [[ "$rvm_gemset_create_on_use_flag" -ne 1 ]] && [[ "$rvm_create_flag" -ne 1 ]] && [[ "$rvm_delete_flag" -ne 1 ]] ; then
624
+ if [[ -n "${rvm_gemset_name:-""}" && ! -d "$rvm_ruby_gem_home" ]] ; then
625
+ if [[ ${rvm_gemset_create_on_use_flag:-0} -ne 1 && ${rvm_create_flag:-0} -ne 1 && ${rvm_delete_flag:-0} -ne 1 ]] ; then
555
626
  "$rvm_scripts_path/log" "error" "Gemset '$rvm_gemset_name' does not exist, rvm gemset create '$rvm_gemset_name' first."
556
627
  return 1
557
628
  fi
558
- elif [[ "$rvm_delete_flag" -eq 1 ]] ; then
629
+ elif [[ ${rvm_delete_flag:-0} -eq 1 ]] ; then
559
630
  return 1
560
631
  fi
561
632
 
562
- if [[ -z "$rvm_ruby_gem_home" ]] && [[ -n $rvm_ruby_string ]] ; then
633
+ if [[ -z "${rvm_ruby_gem_home:-""}" && -n "${rvm_ruby_string:-""}" ]] ; then
563
634
  rvm_ruby_gem_home="$rvm_gems_path/$rvm_ruby_string"
564
635
  rvm_ruby_global_gems_path="$rvm_gems_path/$rvm_ruby_string${rvm_gemset_separator}global"
565
636
  fi
@@ -568,11 +639,11 @@ __rvm_gemset_select() {
568
639
 
569
640
  # Ensure that the ruby gem home exists.
570
641
  \mkdir -p "$rvm_ruby_gem_home"
571
- if [[ -n "$rvm_ruby_gem_home" ]] && echo "$rvm_ruby_gem_home" | \grep -q 'rvm'; then
642
+ if [[ -n "${rvm_ruby_gem_home:-""}" ]] && echo "$rvm_ruby_gem_home" | \grep -q 'rvm'; then
572
643
  if __rvm_using_gemset_globalcache && [[ ! -L "$rvm_ruby_gem_home/cache" ]]; then
573
644
  mv "$rvm_ruby_gem_home/cache/"*.gem "$rvm_gems_cache_path/" 2>/dev/null
574
645
  \rm -rf "$rvm_ruby_gem_home/cache"
575
- ln -nfs "$rvm_gems_cache_path" "$rvm_ruby_gem_home/cache"
646
+ \ln -nfs "$rvm_gems_cache_path" "$rvm_ruby_gem_home/cache"
576
647
  fi
577
648
  fi
578
649
 
@@ -581,6 +652,9 @@ __rvm_gemset_select() {
581
652
 
582
653
  # Use a gemset specified by 'rvm_ruby_gem_home'
583
654
  __rvm_gemset_use() {
655
+ rvm_verbose_flag=${rvm_verbose_flag:-0}
656
+ rvm_ruby_gem_home=${rvm_ruby_gem_home:-""}
657
+
584
658
  if [[ -n "$rvm_ruby_gem_home" ]] ; then
585
659
  if [[ ! -d "$rvm_ruby_gem_home" ]] ; then
586
660
  if [[ "$rvm_gemset_create_on_use_flag" -eq 1 ]] || [[ "$rvm_create_flag" -eq 1 ]]; then
@@ -591,7 +665,7 @@ __rvm_gemset_use() {
591
665
  fi
592
666
  fi
593
667
 
594
- if [[ "$rvm_interactive" -eq 1 ]] || [[ "$rvm_verbose_flag" -eq 1 ]] ; then
668
+ if [[ "$rvm_interactive_flag" -eq 1 ]] || [[ "$rvm_verbose_flag" -eq 1 ]] ; then
595
669
  "$rvm_scripts_path/log" "info" "Now using gemset '${rvm_gemset_name:-default}'"
596
670
  fi
597
671
 
@@ -603,11 +677,12 @@ __rvm_gemset_use() {
603
677
 
604
678
  __rvm_use # Now ensure the selection takes effect for the environment.
605
679
  fi
680
+
606
681
  return 0
607
682
  }
608
683
 
609
684
  __rvm_gemset_clear() {
610
- unset rvm_gemset_name ; shift
685
+ rvm_gemset_name="" ; shift
611
686
  rvm_ruby_gem_home="$(echo "$GEM_HOME" | sed "s#${rvm_gemset_separator:-'@'}.*\$##g")"
612
687
  rvm_ruby_global_gems_path="$(echo "$GEM_HOME" | sed 's/'${rvm_gemset_separator}'.*$//')${rvm_gemset_separator}global"
613
688
  GEM_HOME=$rvm_ruby_gem_home