Module: JSONAPI::Serializable

Defined in:
lib/jsonapi/serializable.rb,
lib/jsonapi/serializable/link.rb,
lib/jsonapi/serializable/error.rb,
lib/jsonapi/serializable/renderer.rb,
lib/jsonapi/serializable/resource.rb,
lib/jsonapi/serializable/error_dsl.rb,
lib/jsonapi/serializable/relationship.rb,
lib/jsonapi/serializable/resource/dsl.rb,
lib/jsonapi/serializable/relationship/dsl.rb,
lib/jsonapi/serializable/resource/key_format.rb,
lib/jsonapi/serializable/resource/conditional_fields.rb

Defined Under Namespace

Modules: ErrorDSL Classes: Error, ErrorSource, Link, Relationship, Renderer, Resource, UndefinedSerializableClass

Class Method Summary collapse

Class Method Details

.resource_for(object, options, inferrer) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



24
25
26
27
28
29
30
31
32
33
# File 'lib/jsonapi/serializable.rb', line 24

def self.resource_for(object, options, inferrer)
  class_name = object.class.name.to_sym

  serializable_klass = inferrer[class_name] || (
    raise UndefinedSerializableClass,
          "No serializable class defined for #{class_name}"
  )

  serializable_klass.new(options.merge(object: object))
end

.resources_for(objects, options, inferrer) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/jsonapi/serializable.rb', line 11

def self.resources_for(objects, options, inferrer)
  return if objects.nil?

  if objects.respond_to?(:to_ary)
    Array(objects).map do |object|
      resource_for(object, options, inferrer)
    end
  else
    resource_for(objects, options, inferrer)
  end
end