Class: RubySerializer::Association

Inherits:
Field
  • Object
show all
Defined in:
lib/ruby_serializer/association.rb

Instance Attribute Summary

Attributes inherited from Field

#as, #field, #from, #namespace, #value

Instance Method Summary collapse

Methods inherited from Field

#initialize, #only?, #unless?

Constructor Details

This class inherits a constructor from RubySerializer::Field

Instance Method Details

#present?(resource, serializer) ⇒ Boolean


Returns:

  • (Boolean)


16
17
18
19
# File 'lib/ruby_serializer/association.rb', line 16

def present?(resource, serializer)
  super &&
  serializer.send(:include?, field)
end

#serialize(resource, serializer) ⇒ Object




6
7
8
9
10
11
12
# File 'lib/ruby_serializer/association.rb', line 6

def serialize(resource, serializer)
  includes = serializer.send(:includes)[field]
  association = resource.send(field)
  if association
    RubySerializer.as_json(association, include: includes)
  end
end