Sha256: f3287654d007430c0f24bebe9cb7acd519ae2f064cf404d42c899e645e9318e1

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 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 :component, :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}_inherited_value_proc".to_sym
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
avm-0.40.0 lib/avm/entries/base/uri_component_entry_value/inherited_value.rb
eac_tools-0.26.0 sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb