# module Gem::SecurityOption

Mixin methods for security option for `Gem::Commands`

### Public Instance Methods

add_security_option() click to toggle source

    # 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