class SimpleSerializer::Deserializer
Attributes
_object_attributes[RW]
data[R]
object[R]
Public Class Methods
deserialize(object, data)
click to toggle source
# File lib/simple_serializer/deserializer.rb, line 50 def deserialize(object, data) self.new(object, data).deserialize end
deserialize_array(objects, data)
click to toggle source
# 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)
click to toggle source
# File lib/simple_serializer/deserializer.rb, line 28 def inherited(base) base._object_attributes = [] end
new(object, data)
click to toggle source
# File lib/simple_serializer/deserializer.rb, line 57 def initialize(object, data) @object = object @data = data end
object_attributes(*attrs)
click to toggle source
# 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
Public Instance Methods
deserialize()
click to toggle source
# File lib/simple_serializer/deserializer.rb, line 62 def deserialize self.class._object_attributes.dup.each do |name| send("set_#{name}") end object end