class Api::ResponseBuilder::Data

Class which helps in building api response body

Attributes

data[RW]

Public Class Methods

new(resource, config = {}) click to toggle source
Calls superclass method Api::ResponseBuilder::Base::new
# File lib/api/response_builder/data.rb, line 8
def initialize(resource, config = {})
  super(resource, config)
  @data = nil
  set_data
end

Private Instance Methods

set_collection_data() click to toggle source
# File lib/api/response_builder/data.rb, line 22
def set_collection_data
  return unless collection?
  @data = ::ActiveModel::Serializer::CollectionSerializer.
    new(resource, config)
end
set_data() click to toggle source
# File lib/api/response_builder/data.rb, line 16
def set_data
  return if exception?
  set_object_data
  set_collection_data
end
set_object_data() click to toggle source
# File lib/api/response_builder/data.rb, line 28
def set_object_data
  return if invalid_resource?
  serializer = config[:serializer]
  @data = serializer ? serializer.new(resource, config) : resource
end