Class: ActiveModel::Serializer::Association::HasMany

Inherits:
ActiveModel::Serializer::Association show all
Defined in:
lib/active_model/serializer/associations.rb

Instance Attribute Summary

Attributes inherited from ActiveModel::Serializer::Association

#embed_ids, #embed_in_root, #embed_in_root_key, #embed_key, #embed_namespace, #embed_objects, #embedded_key, #key, #key_format, #name, #root_key, #serializer_from_options

Instance Method Summary collapse

Methods inherited from ActiveModel::Serializer::Association

#build_serializer, #default_serializer, #embed=, #serializer_from_object

Constructor Details

#initialize(name, *args) ⇒ HasMany

Returns a new instance of HasMany.



71
72
73
74
75
# File 'lib/active_model/serializer/associations.rb', line 71

def initialize(name, *args)
  super
  @root_key = @embedded_key
  @key ||= "#{name.to_s.singularize}_ids"
end

Instance Method Details

#optionsObject



85
86
87
88
89
90
91
# File 'lib/active_model/serializer/associations.rb', line 85

def options
  if use_array_serializer?
    { each_serializer: serializer_from_options }.merge! super
  else
    super
  end
end

#serializer_class(object) ⇒ Object



77
78
79
80
81
82
83
# File 'lib/active_model/serializer/associations.rb', line 77

def serializer_class(object)
  if use_array_serializer?
    ArraySerializer
  else
    serializer_from_options
  end
end