reduce 2x map; fixes datamapper eager loading

This commit is contained in:
Tony Pitale 2013-02-17 16:44:27 -05:00
parent 3e9b366a45
commit dcd4121322

View File

@ -27,10 +27,12 @@ module ActiveModel
serializer = item.active_model_serializer
end
if serializer
serializer.new(item, @options)
serializable = serializer ? serializer.new(item, @options) : item
if serializable.respond_to?(:serializable_hash)
serializable.serializable_hash
else
item
serializable.as_json
end
end
end
@ -47,20 +49,12 @@ module ActiveModel
@options[:hash] = hash = {}
@options[:unique_values] = {}
array = serializable_array.map do |item|
if item.respond_to?(:serializable_hash)
item.serializable_hash
else
item.as_json
end
end
if root = @options[:root]
hash.merge!(root => array)
hash.merge!(root => serializable_array)
include_meta hash
hash
else
array
serializable_array
end
end
end