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