class Chargehound::ChargehoundError

Cast Chargehound API errors to custom error types

Attributes

message[R]
status[R]
type[R]

Public Class Methods

create_chargehound_error(error_response) click to toggle source
# File lib/chargehound/error.rb, line 14
def self.create_chargehound_error(error_response)
  error = error_response['error']
  case error['status']
  when 401
    ChargehoundAuthenticationError.new(error)
  when 403
    ChargehoundAuthenticationError.new(error)
  when 400
    ChargehoundBadRequestError.new(error)
  else
    ChargehoundError.new(error)
  end
end
create_timeout_error() click to toggle source
# File lib/chargehound/error.rb, line 28
def self.create_timeout_error
  ChargehoundTimeoutError.new('Connection timed out')
end
new(error_response) click to toggle source
Calls superclass method
# File lib/chargehound/error.rb, line 6
def initialize(error_response)
  @message = error_response['message']
  @status = error_response['status']
  @type = error_response['type']
  status_string = @status.nil? ? '' : "(Status #{@status}) "
  super("#{status_string}#{message}")
end