Sha256: 9843286d0789b3197038a52f7a8bb5ba69953aed0324d61220ecc9a67bbf148e

Contents?: true

Size: 1.02 KB

Versions: 65

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module EacCli
  class OldConfigs
    class ReadEntryOptions
      enable_simple_cache
      common_constructor :options do
        self.options = options.to_h.symbolize_keys
                              .assert_valid_keys(DEFAULT_VALUES.keys).freeze
      end

      DEFAULT_VALUES = {
        before_input: nil, bool: false, list: false, noecho: false, noenv: false, noinput: false,
        required: true, store: true, validator: nil
      }.freeze

      delegate :to_h, to: :options

      def [](key)
        values.fetch(key.to_sym)
      end

      def request_input_options
        values.slice(:bool, :list, :noecho)
      end

      private

      def values_uncached
        consumer = options.to_options_consumer
        r = {}
        DEFAULT_VALUES.each do |key, default_value|
          value = consumer.consume(key)
          value = default_value if value.nil?
          r[key] = value
        end
        consumer.validate
        r
      end
    end
  end
end

Version data entries

65 entries across 65 versions & 3 rubygems

Version Path
avm-tools-0.116.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.27.2 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.116.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.27.1 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.115.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.27.0 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.114.2 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.114.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.26.2 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.114.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.26.1 lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.26.0 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.113.6 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.113.5 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.25.0 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.113.4 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.113.3 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.24.1 lib/eac_cli/old_configs/read_entry_options.rb
avm-tools-0.113.2 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.24.0 lib/eac_cli/old_configs/read_entry_options.rb