1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/security_option.rb
bronzdoc 6be927ff4a
[rubygems/rubygems] Remove missleading TODO comment. Can't use @parser.accept since not
every class where this is used has a parser available. i.e lib/rubygems/install_update_options.rb

https://github.com/rubygems/rubygems/commit/519fd4dcc0
2019-07-31 07:47:01 +08:00

42 lines
1 KiB
Ruby

# frozen_string_literal: true
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++
require 'rubygems'
# forward-declare
module Gem::Security # :nodoc:
class Policy # :nodoc:
end
end
##
# Mixin methods for security option for Gem::Commands
module Gem::SecurityOption
def add_security_option
OptionParser.accept Gem::Security::Policy do |value|
require 'rubygems/security'
raise OptionParser::InvalidArgument, 'OpenSSL not installed' unless
defined?(Gem::Security::HighSecurity)
policy = Gem::Security::Policies[value]
unless policy
valid = Gem::Security::Policies.keys.sort
raise OptionParser::InvalidArgument, "#{value} (#{valid.join ', '} are valid)"
end
policy
end
add_option(:"Install/Update", '-P', '--trust-policy POLICY',
Gem::Security::Policy,
'Specify gem trust policy') do |value, options|
options[:security_policy] = value
end
end
end