Class: HammerCLI::Options::OptionCollector

Inherits:
Object
  • Object
show all
Defined in:
lib/hammer_cli/options/option_collector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(recognised_options, option_sources) ⇒ OptionCollector

Returns a new instance of OptionCollector.



6
7
8
9
# 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

Instance Attribute Details

#option_sourcesObject

Returns the value of attribute option_sources.



4
5
6
# File 'lib/hammer_cli/options/option_collector.rb', line 4

def option_sources
  @option_sources
end

Instance Method Details

#all_optionsObject



11
12
13
14
15
# File 'lib/hammer_cli/options/option_collector.rb', line 11

def all_options
  @all_options ||= @option_sources.inject({}) do |all_options, source|
    source.get_options(@recognised_options, all_options)
  end
end

#optionsObject



17
18
19
# File 'lib/hammer_cli/options/option_collector.rb', line 17

def options
  @options ||= all_options.reject {|key, value| value.nil? }
end