Class: JSONApi::RelationshipSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/json_api/relationship_serializer.rb

Direct Known Subclasses

ToManySerializer, ToOneSerializer

Defined Under Namespace

Classes: ToManySerializer, ToOneSerializer

Instance Method Summary collapse

Instance Method Details

#as_json(object, **options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/json_api/relationship_serializer.rb', line 5

def as_json(object, **options)
  serializer =
    (options[:to] == :many ? ToManySerializer : ToOneSerializer).new

  data  = serializer.data_for(object, options)
  links = serializer.links_for(object, options)

  result = {}
  result[:data]  = data  unless data.nil?  || data.empty?
  result[:links] = links unless links.nil? || links.empty?

  if result.empty?
    nil
  else
    result
  end
end