Include Enumerable to ArraySerializer

This commit is contained in:
Tema Bolshakov 2014-08-28 23:03:23 +04:00
parent 85b4b85bb3
commit 85ff8123fd
2 changed files with 5 additions and 8 deletions

View File

@ -8,9 +8,7 @@ module ActiveModel
associations = serializer.associations(only: [:id]).each_with_object({}) do |(attr, value), h|
h[attr] = case value
when ActiveModel::Serializer::ArraySerializer
value.attributes(options).map do |item|
item.id
end.to_a
value.map(&:id)
when ActiveModel::Serializer
# process belongs_to association
else

View File

@ -1,12 +1,11 @@
module ActiveModel
class Serializer
class ArraySerializer < Serializer
def initialize(object)
@object = object
end
include Enumerable
delegate :each, to: :object
def attributes(options = {})
object.map do |item|
def initialize(object)
@object = object.map do |item|
serializer_class = ActiveModel::Serializer.serializer_for(item)
serializer_class.new(item)
end