Class: SimpleSerializer::Deserializer
- Inherits:
-
Object
- Object
- SimpleSerializer::Deserializer
- Defined in:
- lib/simple_serializer/deserializer.rb
Class Attribute Summary collapse
-
._object_attributes ⇒ Object
Returns the value of attribute _object_attributes.
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Class Method Summary collapse
- .deserialize(object, data) ⇒ Object
- .deserialize_array(objects, data) ⇒ Object
- .inherited(base) ⇒ Object
- .object_attributes(*attrs) ⇒ Object
Instance Method Summary collapse
- #deserialize ⇒ Object
-
#initialize(object, data) ⇒ Deserializer
constructor
A new instance of Deserializer.
Constructor Details
#initialize(object, data) ⇒ Deserializer
Returns a new instance of Deserializer.
57 58 59 60 |
# File 'lib/simple_serializer/deserializer.rb', line 57 def initialize(object, data) @object = object @data = data end |
Class Attribute Details
._object_attributes ⇒ Object
Returns the value of attribute _object_attributes.
26 27 28 |
# File 'lib/simple_serializer/deserializer.rb', line 26 def _object_attributes @_object_attributes end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
55 56 57 |
# File 'lib/simple_serializer/deserializer.rb', line 55 def data @data end |
#object ⇒ Object (readonly)
Returns the value of attribute object.
55 56 57 |
# File 'lib/simple_serializer/deserializer.rb', line 55 def object @object end |
Class Method Details
.deserialize(object, data) ⇒ Object
50 51 52 |
# File 'lib/simple_serializer/deserializer.rb', line 50 def deserialize(object, data) self.new(object, data).deserialize end |
.deserialize_array(objects, data) ⇒ Object
46 47 48 |
# File 'lib/simple_serializer/deserializer.rb', line 46 def deserialize_array(objects, data) objects.zip(data).map { |obj, datum| deserialize(obj, datum) } end |
.inherited(base) ⇒ Object
28 29 30 |
# File 'lib/simple_serializer/deserializer.rb', line 28 def inherited(base) base._object_attributes = [] end |
.object_attributes(*attrs) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/simple_serializer/deserializer.rb', line 32 def object_attributes(*attrs) @_object_attributes.concat attrs attrs.each do |attr| define_method attr do @data[attr] end unless method_defined?(attr) define_method "set_#{attr}" do object.send("#{attr}=", send(attr)) if @data.has_key?(attr) end unless method_defined?("set_#{attr}") end end |
Instance Method Details
#deserialize ⇒ Object
62 63 64 65 66 67 |
# File 'lib/simple_serializer/deserializer.rb', line 62 def deserialize self.class._object_attributes.dup.each do |name| send("set_#{name}") end object end |