Module: AccessibleData::ClassMethods
- Defined in:
- lib/accessible_data.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #data_load(data_source, namespace = nil) ⇒ Object
- #data_merge(data_source, namespace = nil) ⇒ Object
- #to_h ⇒ Object (also: #accessible_data)
Instance Method Details
#[](key) ⇒ Object
39 40 41 |
# File 'lib/accessible_data.rb', line 39 def [](key) to_h[key] end |
#[]=(key, value) ⇒ Object
43 44 45 46 47 |
# File 'lib/accessible_data.rb', line 43 def []=(key, value) DataAccessors.define_accessor(to_h, key) DataAccessors.define_accessor(self, key) to_h[key] = DataAccessors.accessor_for_data(value) end |
#data_load(data_source, namespace = nil) ⇒ Object
18 19 20 21 |
# File 'lib/accessible_data.rb', line 18 def data_load(data_source, namespace = nil) to_h.clear data_merge(data_source, namespace) end |
#data_merge(data_source, namespace = nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/accessible_data.rb', line 23 def data_merge(data_source, namespace = nil) source_data = DataLoader.load_source(data_source) new_data = namespace ? source_data.fetch(namespace) : source_data @data = HashMethods.deep_merge(to_h, new_data) DataAccessors.accessor_for_obj(self) DataAccessors.accessor_for_data(to_h) to_h end |
#to_h ⇒ Object Also known as: accessible_data
35 36 37 |
# File 'lib/accessible_data.rb', line 35 def to_h @data ||= {} end |