diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-17 20:50:00 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-17 20:50:00 +0000 |
commit | 22d9456b7917fe96fa81fd1d994073312753af8b (patch) | |
tree | be157928ed84f75988ceb82a070797c3482b66a6 /lib/rubygems/commands/specification_command.rb | |
parent | 22263729af357eb86e8bc2165a9eaa6f25eec8a6 (diff) | |
download | ruby-22d9456b7917fe96fa81fd1d994073312753af8b.tar.gz |
* lib/rubygems: Update to RubyGems 1.8.22 plus r33517 and r35337 which
were ported to the rubygems git repository.
See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
changes since 1.8.11.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/commands/specification_command.rb')
-rw-r--r-- | lib/rubygems/commands/specification_command.rb | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/lib/rubygems/commands/specification_command.rb b/lib/rubygems/commands/specification_command.rb index 921fd519e9..566a9cc66e 100644 --- a/lib/rubygems/commands/specification_command.rb +++ b/lib/rubygems/commands/specification_command.rb @@ -62,7 +62,25 @@ FIELD name of gemspec field to show "Please specify a gem name or file on the command line" end - dep = Gem::Dependency.new gem, options[:version] + case options[:version] + when String + req = Gem::Requirement.parse options[:version] + when Gem::Requirement + req = options[:version] + else + raise Gem::CommandLineError, "Unsupported version type: #{options[:version]}" + end + + if !req.none? and options[:all] + alert_error "Specify --all or -v, not both" + terminate_interaction 1 + end + + if options[:all] + dep = Gem::Dependency.new gem + else + dep = Gem::Dependency.new gem, options[:version] + end field = get_one_optional_argument @@ -80,7 +98,11 @@ FIELD name of gemspec field to show end if remote? then - found = Gem::SpecFetcher.fetcher.fetch dep + found = Gem::SpecFetcher.fetcher.fetch dep, true + + if dep.prerelease? or options[:prerelease] + found += Gem::SpecFetcher.fetcher.fetch dep, false, true, true + end specs.push(*found.map { |spec,| spec }) end |