module TicketAbstractorClient::Base::ResponseHandler

Public Instance Methods

with_response_handling() { || ... } click to toggle source
# File lib/ticket_abstractor_client/base/response_handler.rb, line 6
def with_response_handling
  response = yield

  raise(error_by_context(response['context']), response['error'].to_s) if response.key?('error')

  response['result']
end

Private Instance Methods

error_by_context(context) click to toggle source
# File lib/ticket_abstractor_client/base/response_handler.rb, line 16
def error_by_context(context)
  modulo, klass = context.split('::')
  error_class = "TicketAbstractorClient::#{modulo}::Errors::#{klass}".safe_constantize
  error_class.presence || unexpected_error_klass
end
unexpected_error_klass() click to toggle source
# File lib/ticket_abstractor_client/base/response_handler.rb, line 22
def unexpected_error_klass
  modulo = self.class.name.deconstantize.split('::').last
  "TicketAbstractorClient::#{modulo}::Errors::UnexpectedError".safe_constantize
end