Method: Foreman::Thor::Options#initialize

Defined in:
lib/foreman/vendor/thor/lib/thor/parser/options.rb

#initialize(hash_options = {}, defaults = {}, stop_on_unknown = false) ⇒ Options

Takes a hash of Foreman::Thor::Option and a hash with defaults.

If stop_on_unknown is true, #parse will stop as soon as it encounters an unknown option or a regular argument.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/foreman/vendor/thor/lib/thor/parser/options.rb', line 32

def initialize(hash_options = {}, defaults = {}, stop_on_unknown = false)
  @stop_on_unknown = stop_on_unknown
  options = hash_options.values
  super(options)

  # Add defaults
  defaults.each do |key, value|
    @assigns[key.to_s] = value
    @non_assigned_required.delete(hash_options[key])
  end

  @shorts = {}
  @switches = {}
  @extra = []

  options.each do |option|
    @switches[option.switch_name] = option

    option.aliases.each do |short|
      name = short.to_s.sub(/^(?!\-)/, "-")
      @shorts[name] ||= option.switch_name
    end
  end
end