class HammerCLI::Options::OptionCollector
Attributes
option_processor[RW]
Public Class Methods
new(recognised_options, option_processor)
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 6 def initialize(recognised_options, option_processor) @recognised_options = recognised_options if !option_processor.is_a?(HammerCLI::Options::ProcessorList) @option_processor = HammerCLI::Options::ProcessorList.new(option_processor) else @option_processor = option_processor end end
Public Instance Methods
all_options()
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 20 def all_options @all_options ||= translate_nils(all_options_raw) end
all_options_raw()
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 16 def all_options_raw @all_options_raw ||= @option_processor.process(@recognised_options, {}) end
options()
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 24 def options @options ||= all_options.reject { |key, value| value.nil? && all_options_raw[key].nil? } end
Private Instance Methods
translate_nil(value)
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 34 def translate_nil(value) value == HammerCLI::NilValue ? nil : value end
translate_nils(opts)
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 30 def translate_nils(opts) Hash[ opts.map { |k,v| [k, translate_nil(v)] } ] end