module JSONAPI::Serializable

Public Class Methods

resource_for(object, options, inferrer) click to toggle source

@api private

# 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) click to toggle source

@api private

# 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