Sha256: 38c150530da2646cfaef94f47458c52f39ff297a9afdb09c4fa6a523b4553ffe
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Prefab class ConfigValueUnwrapper LOG = Prefab::InternalLogger.new(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 LOG.error "Unknown type: #{config_value.type}" 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
prefab-cloud-ruby-1.2.1 | lib/prefab/config_value_unwrapper.rb |
prefab-cloud-ruby-1.2.0 | lib/prefab/config_value_unwrapper.rb |