lib/simple_serializer/deserializer.rb in simple_serializer-1.0.0 vs lib/simple_serializer/deserializer.rb in simple_serializer-1.0.2

- old
+ new

@@ -19,51 +19,51 @@ # SomeDeserializer.new(object, data).deserialize # # SomeDeserializer.deserialize_array([object1, object2, ...], [data1, data2, ...]) # module SimpleSerializer -class Deserializer - class << self - attr_accessor :_object_attributes + class Deserializer + class << self + attr_accessor :_object_attributes - def inherited(base) - base._object_attributes = [] - end + def inherited(base) + base._object_attributes = [] + end - def object_attributes(*attrs) - @_object_attributes.concat attrs + def object_attributes(*attrs) + @_object_attributes.concat attrs - attrs.each do |attr| - define_method attr do - @data[attr] - end unless method_defined?(attr) + 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}") + define_method "set_#{attr}" do + object.send("#{attr}=", send(attr)) if @data.has_key?(attr) + end unless method_defined?("set_#{attr}") + end end - end - def deserialize_array(objects, data) - objects.zip(data).map { |obj, datum| deserialize(obj, datum) } - end + def deserialize_array(objects, data) + objects.zip(data).map { |obj, datum| deserialize(obj, datum) } + end - def deserialize(object, data) - self.new(object, data).deserialize + def deserialize(object, data) + self.new(object, data).deserialize + end end - end - attr_reader :object, :data + attr_reader :object, :data - def initialize(object, data) - @object = object - @data = data - end + def initialize(object, data) + @object = object + @data = data + end - def deserialize - self.class._object_attributes.dup.each do |name| - send("set_#{name}") + def deserialize + self.class._object_attributes.dup.each do |name| + send("set_#{name}") + end + object end - object end -end end