class HammerCLI::Options::OptionCollector
Attributes
option_sources[RW]
Public Class Methods
new(recognised_options, option_sources)
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 6 def initialize(recognised_options, option_sources) @recognised_options = recognised_options @option_sources = option_sources end
Public Instance Methods
all_options()
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 17 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 11 def all_options_raw @all_options_raw ||= @option_sources.inject({}) do |all_options, source| source.get_options(@recognised_options, all_options) end end
options()
click to toggle source
# File lib/hammer_cli/options/option_collector.rb, line 21 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 31 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 27 def translate_nils(opts) Hash[ opts.map { |k,v| [k, translate_nil(v)] } ] end