Class: JPie::Serializer

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

Defined Under Namespace

Classes: IncludeProcessor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_class, options = {}) ⇒ Serializer



7
8
9
10
# File 'lib/jpie/serializer.rb', line 7

def initialize(resource_class, options = {})
  @resource_class = resource_class
  @options = options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/jpie/serializer.rb', line 5

def options
  @options
end

#resource_classObject (readonly)

Returns the value of attribute resource_class.



5
6
7
# File 'lib/jpie/serializer.rb', line 5

def resource_class
  @resource_class
end

Instance Method Details

#serialize(objects, context = {}, includes: []) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/jpie/serializer.rb', line 12

def serialize(objects, context = {}, includes: [])
  return { data: nil } if objects.nil?

  resources = build_resources(objects, context)
  result = serialize_data(objects, resources)
  add_included_data(result, resources, includes, context) if should_include_data?(includes, result)
  result
end