Module: Accessible::ClassMethods
- Defined in:
- lib/accessible.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, new_value) ⇒ Object
- #load(data_source, namespace = nil) ⇒ Object
- #merge(data_source, namespace = nil) ⇒ Object
- #to_h ⇒ Object
Instance Method Details
#[](key) ⇒ Object
39 40 41 |
# File 'lib/accessible.rb', line 39 def [](key) to_h[key] end |
#[]=(key, new_value) ⇒ Object
43 44 45 46 47 |
# File 'lib/accessible.rb', line 43 def []=(key, new_value) Accessorizers.define_accessors(to_h, key) Accessorizers.define_accessors(self, key) to_h[key] = Accessorizers.accessorize_data(new_value) end |
#load(data_source, namespace = nil) ⇒ Object
22 23 24 25 |
# File 'lib/accessible.rb', line 22 def load(data_source, namespace = nil) to_h.clear merge(data_source, namespace) end |
#merge(data_source, namespace = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/accessible.rb', line 27 def 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) Accessorizers.accessorize_obj(self) Accessorizers.accessorize_data(to_h) to_h end |
#to_h ⇒ Object
18 19 20 |
# File 'lib/accessible.rb', line 18 def to_h @data ||= {} end |