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



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

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

#rootObject



87
88
89
# File 'lib/active_model/serializer/associations.rb', line 87

def root
  options[:root] || name
end

#serializablesObject



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

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

#serializeObject



101
102
103
104
105
# File 'lib/active_model/serializer/associations.rb', line 101

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

#serialize_idsObject



107
108
109
110
111
112
113
114
115
116
# File 'lib/active_model/serializer/associations.rb', line 107

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