Exception: AcceptOn::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/accepton/error.rb

Constant Summary collapse

ClientError =

Raised when AcceptOn returns a 4xx HTTP status code

Class.new(self)
BadRequest =

Raised when AcceptOn returns a 400 HTTP status code

Class.new(ClientError)
Unauthorized =

Raised when AcceptOn returns a 401 HTTP status code

Class.new(ClientError)
NotFound =

Raised when AcceptOn returns a 404 HTTP status code

Class.new(ClientError)
ServerError =

Raised when AcceptOn returns a 5xx HTTP status code

Class.new(self)
InternalServerError =

Raised when AcceptOn returns a 500 HTTP status code

Class.new(ServerError)
BadGateway =

Raised when AcceptOn returns a 502 HTTP status code

Class.new(ServerError)
ServiceUnavailable =

Raised when AcceptOn returns a 503 HTTP status code

Class.new(ServerError)
GatewayTimeout =

Raised when AcceptOn returns a 504 HTTP status code

Class.new(ServerError)
ERRORS =
{
  400 => AcceptOn::Error::BadRequest,
  401 => AcceptOn::Error::Unauthorized,
  404 => AcceptOn::Error::NotFound,
  500 => AcceptOn::Error::InternalServerError,
  502 => AcceptOn::Error::BadGateway,
  503 => AcceptOn::Error::ServiceUnavailable,
  504 => AcceptOn::Error::GatewayTimeout
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = '', code = nil) ⇒ AcceptOn::Error

Parameters:

  • message (String) (defaults to: '')
  • code (Integer) (defaults to: nil)


65
66
67
68
# File 'lib/accepton/error.rb', line 65

def initialize(message = '', code = nil)
  super(message)
  @status_code = code
end

Instance Attribute Details

#status_codeObject (readonly)

Returns the value of attribute status_code.



3
4
5
# File 'lib/accepton/error.rb', line 3

def status_code
  @status_code
end

Class Method Details

.from_response(response_body, status_code) ⇒ AcceptOn::Error

Parameters:

  • response_body (Hashie::Mash)
  • status_code (Integer)

Returns:



46
47
48
49
50
51
# File 'lib/accepton/error.rb', line 46

def from_response(response_body, status_code)
  return unless ERRORS.key?(status_code)
  error_class = ERRORS[status_code]
  message = parse_error(response_body)
  error_class.new(message, status_code)
end