Sha256: 3ae3255255ff702b5492ea9614b9d4e33ece57fad4bff7fbc850f05e274ae03f

Contents?: true

Size: 553 Bytes

Versions: 4

Compression:

Stored size: 553 Bytes

Contents

module HammerCLI
  module Options
    class OptionCollector
      attr_accessor :option_sources

      def initialize(recognised_options, option_sources)
        @recognised_options = recognised_options
        @option_sources = option_sources
      end

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

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hammer_cli-0.11.0 lib/hammer_cli/options/option_collector.rb
hammer_cli-0.10.2 lib/hammer_cli/options/option_collector.rb
hammer_cli-0.10.1 lib/hammer_cli/options/option_collector.rb
hammer_cli-0.10.0 lib/hammer_cli/options/option_collector.rb