class LightSerializer::SerializeCollection

Attributes

collection[R]
context[R]
root[R]
serializer[R]

Public Class Methods

new(collection, serializer:, root: nil, context: nil) click to toggle source
# File lib/light_serializer/serialize_collection.rb, line 9
def initialize(collection, serializer:, root: nil, context: nil)
  @collection = collection
  @serializer = serializer
  @root = root
  @context = context
end

Public Instance Methods

to_hash() click to toggle source
# File lib/light_serializer/serialize_collection.rb, line 20
def to_hash
  hashed_collection
end
to_json() click to toggle source
# File lib/light_serializer/serialize_collection.rb, line 16
def to_json
  Oj.dump(collection_with_root, mode: :compat)
end

Private Instance Methods

collection_with_root() click to toggle source
# File lib/light_serializer/serialize_collection.rb, line 26
def collection_with_root
  with_custom_root(root) { hashed_collection }
end
hashed_collection() click to toggle source
# File lib/light_serializer/serialize_collection.rb, line 30
def hashed_collection
  collection.map { |entity| serializer.new(entity, context: context).to_hash }
end