class Api::ResponseBuilder::Main

Class which helps in building whole api response

Attributes

config[RW]
params[RW]
resource[RW]
response[RW]

Public Class Methods

new(resource, config = {}, params = {}) click to toggle source
# File lib/api/response_builder/main.rb, line 11
def initialize(resource, config = {}, params = {})
  @resource = resource
  @config = config
  @response = {}
  @params = params
  set_response
end

Public Instance Methods

prepare_response() click to toggle source
# File lib/api/response_builder/main.rb, line 31
def prepare_response
  status_msg = ::Api::ResponseBuilder::Status.new(resource, config).status_message
  @response = status_msg.present? ? status_msg : {}
end
set_response() click to toggle source
# File lib/api/response_builder/main.rb, line 19
def set_response
  prepare_response
  response_data = ::Api::ResponseBuilder::Data.new(resource, config).data
  messages = ::Api::ResponseBuilder::Messages.new(resource, config).messages
  status_code = ::Api::ResponseBuilder::StatusCode.new(resource, config).status_code

  @response[:body] = response_data if response_data.present?
  @response[:messages] = messages if messages.present?
  @response[:status_code] = status_code
  @response[:meta] = (config[:meta].to_h)
end