14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/hal_decorator/serializer.rb', line 14
def to_collection(resources = [], options = {})
parameters = collection_parameters
if parameters.nil?
raise Error,
"Trying to serialize a collection using #{self} which has no collection info. " \
"Add a 'collection' spec to the serializer or use another serializer"
end
links = parameters.links
curies = parameters.curies
serialized = _serialize_attributes(parameters.attributes, resources, options)
serialized.merge! _serialize_links(links, curies, resources, options)
serialized_resources = resources.map { |resource| to_hash(resource, options) }
serialized[:_embedded] = { parameters.name => serialized_resources }
JSON.generate(serialized)
end
|