Sha256: 7d132cc6ce6e77162e5847b3bebff50733a5db1c8cd88999ff1a46c54f24af95

Contents?: true

Size: 843 Bytes

Versions: 37

Compression:

Stored size: 843 Bytes

Contents

require_relative './base'

module HammerCLI
  module Options
    module Sources
      class SavedDefaults < Base
        def initialize(defaults, logger)
          @defaults = defaults
          @logger = logger
        end

        def get_options(defined_options, result)
          defined_options.each do |opt|
            result[opt.attribute_name] = add_custom_defaults(opt) if result[opt.attribute_name].nil?
          end if @defaults
          result
        end

        protected
        def add_custom_defaults(opt)
          opt.switches.each do |switch|
            value = @defaults.get_defaults(switch)
            if value
              @logger.info("Custom default value #{value} was used for attribute #{switch}")
              return value
            end
          end
          nil
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
hammer_cli-3.14.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.13.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.12.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.10.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.9.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.8.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.7.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.5.1 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.6.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.5.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.4.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.3.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.2.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.1.1 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.0.2 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.1.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.0.1 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-3.0.0 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-2.5.1 lib/hammer_cli/options/sources/saved_defaults.rb
hammer_cli-2.5.0 lib/hammer_cli/options/sources/saved_defaults.rb