Sha256: b05f62ac9ff67b3eb928668d1b245cde25f9df08031de5b47c24ebdc778f94aa

Contents?: true

Size: 1.02 KB

Versions: 152

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

152 entries across 152 versions & 3 rubygems

Version Path
eac_cli-0.42.0 lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.40.1 lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.40.0 lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.39.0 lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.38.1 lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.82.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.81.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.80.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.79.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.78.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.77.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.77.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.38.0 lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.76.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.76.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.75.2 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_cli-0.37.0 lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.75.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.75.0 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb
eac_tools-0.74.1 sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb