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