Class: Avm::Instances::Entries::EntryReader
- Inherits:
-
Object
- Object
- Avm::Instances::Entries::EntryReader
- Defined in:
- lib/avm/instances/entries/entry_reader.rb
Instance Method Summary collapse
- #auto_value ⇒ Object
- #auto_value_method ⇒ Object
- #full_path ⇒ Object
- #optional_value ⇒ Object
- #read(extra_options = {}) ⇒ Object
- #suffix_as_array ⇒ Object
- #value ⇒ Object
Instance Method Details
#auto_value ⇒ Object
11 12 13 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 11 def auto_value parent.respond_to?(auto_value_method, true) ? parent.send(auto_value_method) : nil end |
#auto_value_method ⇒ Object
15 16 17 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 15 def auto_value_method "auto_#{suffix.to_s.gsub('.', '_')}" end |
#full_path ⇒ Object
19 20 21 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 19 def full_path (parent.path_prefix + suffix_as_array).join('.') end |
#optional_value ⇒ Object
23 24 25 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 23 def optional_value read(required: false, noinput: true) || auto_value end |
#read(extra_options = {}) ⇒ Object
27 28 29 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 27 def read( = {}) ::Avm.configs.read_entry(full_path, .merge()) end |
#suffix_as_array ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 31 def suffix_as_array if suffix.is_a?(::Array) suffix.dup else ::EacRubyUtils::PathsHash.parse_entry_key(suffix.to_s) end end |
#value ⇒ Object
39 40 41 |
# File 'lib/avm/instances/entries/entry_reader.rb', line 39 def value optional_value || read end |