diff options
Diffstat (limited to 'lib/rubygems/install_update_options.rb')
-rw-r--r-- | lib/rubygems/install_update_options.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/rubygems/install_update_options.rb b/lib/rubygems/install_update_options.rb index f3ec1aa12a..5073be0c21 100644 --- a/lib/rubygems/install_update_options.rb +++ b/lib/rubygems/install_update_options.rb @@ -11,7 +11,13 @@ #++ require 'rubygems' -require 'rubygems/security' + +# forward-declare + +module Gem::Security # :nodoc: + class Policy # :nodoc: + end +end ## # Mixin methods for install and update options for Gem::Commands @@ -23,8 +29,12 @@ module Gem::InstallUpdateOptions def add_install_update_options OptionParser.accept Gem::Security::Policy do |value| + require 'rubygems/security' + value = Gem::Security::Policies[value] - raise OptionParser::InvalidArgument, value if value.nil? + valid = Gem::Security::Policies.keys.sort + message = "#{value} (#{valid.join ', '} are valid)" + raise OptionParser::InvalidArgument, message if value.nil? value end |