module Apiarist::Serialization

Public Instance Methods

serialize(obj, opts = {}) click to toggle source
# File lib/apiarist/serialization.rb, line 6
def serialize(obj, opts = {})
  if obj.respond_to?(:map)
    obj.map { |resource| serialize_object(resource, opts) }
  else
    serialize_object(obj, opts)
  end
end

Private Instance Methods

serialize_object(obj, opts = {}) click to toggle source
# File lib/apiarist/serialization.rb, line 16
def serialize_object(obj, opts = {})
  opts.assert_valid_keys(:scope, :context, :serializer)
  obj && opts.fetch(:serializer, serializer_class(obj.class)).new(obj, serialization_context, opts)
end
serializer_class(resource_class) click to toggle source
# File lib/apiarist/serialization.rb, line 21
def serializer_class(resource_class)
  "#{self.class.name.deconstantize}::#{resource_class}Serializer".constantize
end