Exception: Apiddress::Error
- Inherits:
-
StandardError
- Object
- StandardError
- Apiddress::Error
- Defined in:
- lib/apiddress/error.rb
Overview
Raised for any failed APIddress request.
For HTTP errors, status is the response status code and code / message / details come from the API error envelope {“error”: {“code”, “message”, “details”}}.
For client-side failures (request timeout, wait_for_batch timeout), status is 0 and code is “timeout”.
Instance Attribute Summary collapse
-
#code ⇒ String
readonly
Machine-readable error code, e.g.
-
#details ⇒ Hash?
readonly
Extra context from the API, or nil.
-
#message ⇒ String
readonly
Human-readable description (also the exception message).
-
#status ⇒ Integer
readonly
HTTP status code, or 0 for client-side failures.
Instance Method Summary collapse
-
#initialize(status, code, message, details = nil) ⇒ Error
constructor
A new instance of Error.
- #inspect ⇒ Object
Constructor Details
#initialize(status, code, message, details = nil) ⇒ Error
Returns a new instance of Error.
26 27 28 29 30 31 32 |
# File 'lib/apiddress/error.rb', line 26 def initialize(status, code, , details = nil) super() @status = status @code = code @message = @details = details end |
Instance Attribute Details
#code ⇒ String (readonly)
Returns Machine-readable error code, e.g. “quota_exceeded”.
14 15 16 |
# File 'lib/apiddress/error.rb', line 14 def code @code end |
#details ⇒ Hash? (readonly)
Returns Extra context from the API, or nil.
20 21 22 |
# File 'lib/apiddress/error.rb', line 20 def details @details end |
#message ⇒ String (readonly)
Returns Human-readable description (also the exception message).
17 18 19 |
# File 'lib/apiddress/error.rb', line 17 def @message end |
#status ⇒ Integer (readonly)
Returns HTTP status code, or 0 for client-side failures.
11 12 13 |
# File 'lib/apiddress/error.rb', line 11 def status @status end |
Instance Method Details
#inspect ⇒ Object
34 35 36 |
# File 'lib/apiddress/error.rb', line 34 def inspect "#<Apiddress::Error status=#{status.inspect} code=#{code.inspect} message=#{.inspect} details=#{details.inspect}>" end |