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

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

Overview

:nodoc:

Instance Attribute Summary

Attributes inherited from ActiveModel::Serializer::Association

#embed_ids, #embed_in_root, #embed_objects, #name, #object

Instance Method Summary collapse

Methods inherited from ActiveModel::Serializer::Association

#initialize, #key

Constructor Details

This class inherits a constructor from ActiveModel::Serializer::Association

Instance Method Details

#id_keyObject



85
86
87
# File 'lib/active_model/serializer/associations.rb', line 85

def id_key
  "#{name.to_s.singularize}_ids".to_sym
end

#rootObject



81
82
83
# File 'lib/active_model/serializer/associations.rb', line 81

def root
  options[:root] || name
end

#serializablesObject



89
90
91
92
93
# File 'lib/active_model/serializer/associations.rb', line 89

def serializables
  object.map do |item|
    find_serializable(item)
  end
end

#serializeObject



95
96
97
98
99
# File 'lib/active_model/serializer/associations.rb', line 95

def serialize
  object.map do |item|
    find_serializable(item).serializable_hash
  end
end

#serialize_idsObject



101
102
103
104
105
106
107
108
109
110
# File 'lib/active_model/serializer/associations.rb', line 101

def serialize_ids
  object.map do |item|
    serializer = find_serializable(item)
    if serializer.respond_to?(embed_key)
      serializer.send(embed_key)
    else
      item.read_attribute_for_serialization(embed_key)
    end
  end
end