Class: Seri::GroupSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/serializer/group_serializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(objects, serializer: nil, scope: {}) ⇒ GroupSerializer

Returns a new instance of GroupSerializer.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
# File 'lib/serializer/group_serializer.rb', line 3

def initialize(objects, serializer: nil, scope: {})
  raise ArgumentError, 'serializer needs to be specified' if serializer.nil?

  @objects = objects
  @serializer = serializer
  @scope = scope
end

Instance Method Details

#to_hObject



15
16
17
18
19
# File 'lib/serializer/group_serializer.rb', line 15

def to_h
  @objects
    .map { |object| @serializer.new(object, scope: @scope) }
    .map(&:to_h)
end

#to_jsonObject



11
12
13
# File 'lib/serializer/group_serializer.rb', line 11

def to_json(*)
  Oj.dump(to_h, mode: :json)
end