Use a third argument to pass serializer_options

This commit is contained in:
Santiago Pastorino 2013-05-14 17:03:59 -07:00
parent c04d452823
commit e273a2fb37
2 changed files with 6 additions and 6 deletions

View File

@ -380,8 +380,7 @@ module ActiveModel
options[:value] ||= send(name)
options[:embed] = _embed unless options.key?(:embed)
options[:include] = _root_embed unless options.key?(:include)
options[:serializer_options] = self.options
association = association_class.new(name, options)
association = association_class.new(name, options, self.options)
if association.embed_ids?
node[association.key] =

View File

@ -2,9 +2,10 @@ module ActiveModel
class Serializer
module Associations #:nodoc:
class Config #:nodoc:
def initialize(name, options={})
def initialize(name, options={}, serializer_options={})
@name = name
@options = options
@serializer_options = serializer_options
end
def target_serializer
@ -48,15 +49,15 @@ module ActiveModel
def find_serializable(object)
if target_serializer
target_serializer.new(object, options[:serializer_options])
target_serializer.new(object, serializer_options)
elsif object.respond_to?(:active_model_serializer) && (ams = object.active_model_serializer)
ams.new(object, options[:serializer_options])
ams.new(object, serializer_options)
else
object
end
end
attr_reader :options
attr_reader :options, :serializer_options
end
class HasMany < Config #:nodoc: