Class: ActiveCampaign::ExceptionHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/active-campaign-simple/exception_handler.rb

Constant Summary collapse

ERRORS =
{
  '404 Not Found' => ActiveCampaign::NotFoundError,
  '422 Unprocessable Entity' => ActiveCampaign::UnprocessableEntityError
}

Instance Method Summary collapse

Constructor Details

#initialize(error) ⇒ ExceptionHandler

Returns a new instance of ExceptionHandler.



10
11
12
13
14
15
16
17
# File 'lib/active-campaign-simple/exception_handler.rb', line 10

def initialize(error)
  error_class = ERRORS.find { |status, _| error.message.start_with?(status) }&.last
  if error_class
    raise error_class.new(error), "#{error.message}\nResponse body:\n#{error.response&.body}\nStack trace:\n#{error.backtrace.join("\n")}"
  else
    raise ActiveCampaign::APIError.new(error), "#{error.message}\nResponse body:\n#{error.response&.body}\nStack trace:\n#{error.backtrace.join("\n")}"
  end
end