Pass options to associations

This commit is contained in:
Tema Bolshakov and Dmitry Myaskovskiy
2014-08-29 20:16:11 +04:00
committed by Tema Bolshakov
parent 258b5953e2
commit 71a43a432a
4 changed files with 31 additions and 16 deletions

View File

@@ -99,11 +99,15 @@ module ActiveModel
end
end
def associations(options = {})
self.class._associations.dup.each_with_object({}) do |(name, value), hash|
def each_association(&block)
self.class._associations.dup.each do |name, options|
association = object.send(name)
serializer_class = ActiveModel::Serializer.serializer_for(association)
hash[name] = serializer_class.new(association)
serializer = serializer_class.new(association)
if block_given?
block.call(name, serializer, options[:options])
end
end
end
end