new(hash_options = {}, defaults = {}, stop_on_unknown = false, disable_required_check = false)
public
Takes a hash of Bundler::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.
# File lib/bundler/vendor/thor/lib/thor/parser/options.rb, line 32
def initialize(hash_options = {}, defaults = {}, stop_on_unknown = false, disable_required_check = false)
@stop_on_unknown = stop_on_unknown
@disable_required_check = disable_required_check
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