Sha256: b4a842c453beaf36fb35918da7cb641261613dd822aa174a9a2f2cce93463637

Contents?: true

Size: 1.08 KB

Versions: 131

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

require 'avm/entries/uri_builder'
require 'eac_config/entry_path'
require 'eac_ruby_utils/core_ext'

module Avm
  module Entries
    module Base
      class UriComponentEntryValue
        class InheritedValue
          enable_method_class
          common_constructor :uri_component_entry_value
          delegate :entries_provider, :id_entry_path, :component_entry_path,
                   to: :uri_component_entry_value

          def result
            entries_provider.inherited_entry_value(
              id_entry_path.to_string,
              component_entry_path.to_string,
              &inherited_value_block
            )
          end

          def inherited_value_block
            return nil unless entries_provider.respond_to?(inherited_value_block_method_name)

            ->(value) { entries_provider.send(inherited_value_block_method_name, value) }
          end

          def inherited_value_block_method_name
            "#{component_entry_path.parts.join('_').variableize}_inherited_value_proc".to_sym
          end
        end
      end
    end
  end
end

Version data entries

131 entries across 131 versions & 2 rubygems

Version Path
eac_tools-0.31.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.30.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
avm-0.43.0 lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.29.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
avm-0.42.0 lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.28.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.27.2 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
avm-0.41.1 lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.27.1 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
avm-0.41.0 lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.27.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb