diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-30 16:27:52 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-30 16:27:52 +0000 |
commit | 952beb5ff4a866a012fb646bf598ae112acdfb82 (patch) | |
tree | dd4f74a0e37169cef6d22671b2070e8e9c5ef551 /lib/rubygems/command.rb | |
parent | 4bb1bfa0ed10a3a1e2ca04ada24d72e0227ebce7 (diff) | |
download | ruby-952beb5ff4a866a012fb646bf598ae112acdfb82.tar.gz |
* lib/rubygems/command.rb (Gem::Command#get_all_gem_names_and_versions):
who assumes that the pathname of a gem never contains ':' ?
yes, on Unixen pathnames can contain ':', and on Windows they almost
certainly contain ':'. see [ruby-core:50388].
* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
the regexp to match the version specifier from PATTERN to use in
above method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/command.rb')
-rw-r--r-- | lib/rubygems/command.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/rubygems/command.rb b/lib/rubygems/command.rb index 69cbf3c269..cba79b9196 100644 --- a/lib/rubygems/command.rb +++ b/lib/rubygems/command.rb @@ -5,6 +5,7 @@ #++ require 'optparse' +require 'rubygems/requirement' require 'rubygems/user_interaction' ## @@ -186,7 +187,13 @@ class Gem::Command # An argument in the form gem:ver is pull apart into the gen name and version, # respectively. def get_all_gem_names_and_versions - get_all_gem_names.map { |name| name.split(":", 2) } + get_all_gem_names.map do |name| + if /\A(.*):(#{Gem::Requirement::PATTERN_RAW})\z/ =~ name + [$1, $2] + else + [name] + end + end end ## |