diff options
Diffstat (limited to 'lib/rubygems/version_option.rb')
-rw-r--r-- | lib/rubygems/version_option.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/rubygems/version_option.rb b/lib/rubygems/version_option.rb index a3de4dc9e7..a0755d5020 100644 --- a/lib/rubygems/version_option.rb +++ b/lib/rubygems/version_option.rb @@ -42,6 +42,7 @@ module Gem::VersionOption add_option("--[no-]prerelease", "Allow prerelease versions of a gem", *wrap) do |value, options| options[:prerelease] = value + options[:explicit_prerelease] = true end end @@ -50,14 +51,19 @@ module Gem::VersionOption def add_version_option(task = command, *wrap) OptionParser.accept Gem::Requirement do |value| - Gem::Requirement.new value + Gem::Requirement.new(*value.split(/\s*,\s*/)) end add_option('-v', '--version VERSION', Gem::Requirement, "Specify version of gem to #{task}", *wrap) do |value, options| options[:version] = value - options[:prerelease] = true if value.prerelease? + + explicit_prerelease_set = !options[:explicit_prerelease].nil? + options[:explicit_prerelease] = false unless explicit_prerelease_set + + options[:prerelease] = value.prerelease? unless + options[:explicit_prerelease] end end |