Sha256: b4b096017f4ab8c9b3d43dc955c405d0e352acfd7e44bab1756478d57b903315

Contents?: true

Size: 1.34 KB

Versions: 102

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

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

module Avm
  module Entries
    module Base
      class UriComponentsEntriesValues
        class GenericComponent
          common_constructor :owner, :component
          delegate :entries_provider_class, :prefix, to: :owner

          def auto_method_name
            ['auto', component_method_name].join('_')
          end

          def component_method_name
            [prefix, component].join('_')
          end

          def define_auto_method(&block)
            entries_provider_class.define_method(auto_method_name, &block)
          end

          def define_inherited_value_proc_method(&block)
            entries_provider_class.define_method(inherited_value_proc_name, &block)
          end

          def entry_key_path
            ::EacConfig::EntryPath.assert([prefix, component])
          end

          def id_component
            @id_component ||= owner.component_factory('id')
          end

          def inherited_value_proc_name
            [component_method_name, 'inherited_value_proc'].join('_')
          end

          def setup
            outer_self = self
            define_auto_method do
              uri_component_entry_value(outer_self.entry_key_path.to_string)
            end
          end
        end
      end
    end
  end
end

Version data entries

102 entries across 102 versions & 2 rubygems

Version Path
avm-0.76.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.69.1 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.75.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.69.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.74.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.68.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.73.1 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.67.1 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.73.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.67.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.72.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.66.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.65.1 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.71.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.65.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.70.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.64.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
avm-0.69.0 lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.63.0 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb
eac_tools-0.62.1 sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb