Module: Accessible::ClassMethods
- Defined in:
- lib/accessible.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, new_value) ⇒ Object
- #load(source, namespace = nil) ⇒ Object
- #merge(source, namespace = nil) ⇒ Object
- #to_h ⇒ Object
Instance Method Details
#[](key) ⇒ Object
36 37 38 |
# File 'lib/accessible.rb', line 36 def [](key) to_h[key] end |
#[]=(key, new_value) ⇒ Object
40 41 42 43 44 |
# File 'lib/accessible.rb', line 40 def []=(key, new_value) Accessorizers.define_accessors(to_h, key) Accessorizers.define_accessors(self, key) to_h[key] = Accessible::Accessorizers.accessorize_data(new_value) end |
#load(source, namespace = nil) ⇒ Object
16 17 18 19 |
# File 'lib/accessible.rb', line 16 def load(source, namespace = nil) to_h.clear merge(source, namespace) end |
#merge(source, namespace = nil) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/accessible.rb', line 21 def merge(source, namespace = nil) new_data = DataLoader.load_source(source) if namespace @data = HashMethods.deep_merge(to_h, new_data.fetch(namespace)) else @data = HashMethods.deep_merge(to_h, new_data) end Accessorizers.accessorize_obj(self) Accessorizers.accessorize_data(to_h) to_h end |
#to_h ⇒ Object
12 13 14 |
# File 'lib/accessible.rb', line 12 def to_h @data ||= {} end |