Sha256: 7a3161a5d580c876ca67acccc142af4e67daa217b17ffb51f4d6557a50311681
Contents?: true
Size: 1000 Bytes
Versions: 6
Compression:
Stored size: 1000 Bytes
Contents
# frozen_string_literal: true module Prefab class ConfigValueUnwrapper attr_reader :value, :weighted_value_index def initialize(value, weighted_value_index = nil) @value = value @weighted_value_index = weighted_value_index end def unwrap case value.type when :int, :string, :double, :bool, :log_level value.public_send(value.type) when :string_list value.string_list.values else raise "Unknown type: #{config_value.type}" end end def self.deepest_value(config_value, config_key, context) if config_value&.type == :weighted_values value, index = Prefab::WeightedValueResolver.new( config_value.weighted_values.weighted_values, config_key, context.get(config_value.weighted_values.hash_by_property_name) ).resolve new(deepest_value(value.value, config_key, context).value, index) else new(config_value) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems