class ActiveModel::Serializer::Associations::Config
:nodoc:
:nodoc:
def self.refine(name, class_options)
def self.refine(name, class_options) current_class = self Class.new(self) do singleton_class.class_eval do define_method(:to_s) do "(subclass of #{current_class.name})" end alias inspect to_s end self.options = class_options end end
def associated_object
def associated_object option(:value) || source_serializer.send(name) end
def embed_ids?
def embed_ids? option(:embed, source_serializer._embed) == :ids end
def embed_in_root?
def embed_in_root? option(:include, source_serializer._root_embed) end
def embed_objects?
def embed_objects? option(:embed, source_serializer._embed) == :objects end
def find_serializable(object)
def find_serializable(object) if target_serializer target_serializer.new(object, source_serializer.options) elsif object.respond_to?(:active_model_serializer) && (ams = object.active_model_serializer) ams.new(object, source_serializer.options) else object end end
def initialize(name, source, options={})
def initialize(name, source, options={}) @name = name @source = source @options = options end
def key
def key option(:key) || @name end
def name
def name option(:name) || @name end
def option(key, default=nil)
def option(key, default=nil) if @options.key?(key) @options[key] elsif self.class.options.key?(key) self.class.options[key] else default end end
def root
def root option(:root) || plural_key end
def source_serializer
def source_serializer @source end
def target_serializer
def target_serializer option(:serializer) end