lib/json_serializer.rb in json-serializer-0.0.7 vs lib/json_serializer.rb in json-serializer-0.0.8

- old
+ new

@@ -34,19 +34,21 @@ end protected def serializable_object - if object.kind_of?(Enumerable) - object.to_a.map { |item| self.class.new(item).to_hash } + return nil unless @object + + if @object.respond_to?(:to_a) + @object.to_a.map { |item| self.class.new(item).to_hash } else to_hash end end def to_hash self.class.attributes.each_with_object({}) do |(name, serializer), hash| - data = self.class.method_defined?(name) ? self.send(name) : object.send(name) + data = self.class.method_defined?(name) ? self.send(name) : @object.send(name) data = Utils.const(self.class, serializer).new(data).serializable_object if serializer hash[name] = data end end end