Class: Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/entries/base/uri_components_entries_values/generic_component.rb

Direct Known Subclasses

PathComponent, UrlComponent

Instance Method Summary collapse

Instance Method Details

#auto_method_nameObject



14
15
16
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 14

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

#component_method_nameObject



18
19
20
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 18

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

#define_auto_methodObject



22
23
24
25
26
27
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 22

def define_auto_method
  outer_self = self
  entries_provider_class.define_method(auto_method_name) do
    uri_component_entry_value(outer_self.entry_key_path.to_string)
  end
end

#define_get_methodObject



29
30
31
32
33
34
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 29

def define_get_method
  outer_self = self
  entries_provider_class.define_method(get_method_name) do
    read_entry(outer_self.entry_key_path.to_string)
  end
end

#define_get_optional_methodObject



36
37
38
39
40
41
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 36

def define_get_optional_method
  outer_self = self
  entries_provider_class.define_method(get_optional_method_name) do
    read_entry_optional(outer_self.entry_key_path.to_string)
  end
end

#define_inherited_value_proc_method(&block) ⇒ Object



43
44
45
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 43

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

#entry_key_pathObject



47
48
49
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 47

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

#get_method_nameString

Returns:

  • (String)


52
53
54
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 52

def get_method_name # rubocop:disable Naming/AccessorMethodName
  component_method_name
end

#get_optional_method_nameString

Returns:

  • (String)


57
58
59
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 57

def get_optional_method_name # rubocop:disable Naming/AccessorMethodName
  get_method_name + '_optional'
end

#id_componentObject



61
62
63
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 61

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

#inherited_value_proc_nameObject



65
66
67
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 65

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

#setupObject



69
70
71
72
73
# File 'lib/avm/entries/base/uri_components_entries_values/generic_component.rb', line 69

def setup
  define_auto_method
  define_get_method
  define_get_optional_method
end