Module: Mural::Codec::ClassMethods
- Defined in:
- lib/mural/codec.rb
Instance Method Summary collapse
Instance Method Details
#attrs ⇒ Object
19 20 21 |
# File 'lib/mural/codec.rb', line 19 def attrs @attrs ||= {} end |
#decode(json) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/mural/codec.rb', line 29 def decode(json) return if json.nil? new.tap do |instance| attrs.each do |attr, remote_attr| instance.public_send(:"#{attr}=", json[remote_attr]) end end end |
#define_attributes(values) ⇒ Object
23 24 25 26 27 |
# File 'lib/mural/codec.rb', line 23 def define_attributes(values) @attrs = values.freeze attrs.each_key { |attr| attr_accessor(attr) } end |