123456789_123456789_123456789_123456789_123456789_

Module: Gem::SecurityOption

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: lib/rubygems/security_option.rb

Overview

Mixin methods for security option for Commands

Instance Method Summary

Instance Method Details

#add_security_option

[ GitHub ]

  
# File 'lib/rubygems/security_option.rb', line 21

def add_security_option
  # TODO: use @parser.accept
  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