Exception: ApiBrasil::Core::Errors::ApiBrasilError
- Inherits:
-
StandardError
- Object
- StandardError
- ApiBrasil::Core::Errors::ApiBrasilError
- Defined in:
- lib/api_brasil/core/errors.rb
Overview
Erro base lancado pelo cliente ApiBrasil::Client. Subclasses
especificas permitem tratar cada categoria com rescue:
ValidationError(400/422),AuthenticationError(401),InsufficientBalanceError(402),PermissionError(403),NotFoundError(404/410),RateLimitError(429),ServerError(5xx)NetworkError/TimeoutErrorpara falhas antes da resposta.
Direct Known Subclasses
AuthenticationError, InsufficientBalanceError, NetworkError, NotFoundError, PermissionError, RateLimitError, ServerError, ValidationError
Instance Attribute Summary collapse
-
#error_code ⇒ String?
readonly
Codigo de erro retornado pela API (ex:
NOT_FOUND). -
#previous ⇒ Exception?
readonly
Erro original, quando houver.
-
#response ⇒ Object?
readonly
Corpo completo da resposta de erro.
-
#status ⇒ Integer?
readonly
Status HTTP retornado pela API (ex: 401, 402).
Class Method Summary collapse
-
.from(error) ⇒ ApiBrasilError
Converte qualquer erro em um
ApiBrasilError.
Instance Method Summary collapse
-
#initialize(message, status: nil, code: nil, response: nil, previous: nil) ⇒ ApiBrasilError
constructor
A new instance of ApiBrasilError.
-
#insufficient_balance? ⇒ Boolean
truequando a falha foi por saldo/creditos insuficientes (HTTP 402). -
#unauthorized? ⇒ Boolean
truequando a falha foi de autenticacao (HTTP 401).
Constructor Details
#initialize(message, status: nil, code: nil, response: nil, previous: nil) ⇒ ApiBrasilError
Returns a new instance of ApiBrasilError.
29 30 31 32 33 34 35 |
# File 'lib/api_brasil/core/errors.rb', line 29 def initialize(, status: nil, code: nil, response: nil, previous: nil) super() @status = status @error_code = code @response = response @previous = previous end |
Instance Attribute Details
#error_code ⇒ String? (readonly)
Returns codigo de erro retornado pela API (ex: NOT_FOUND).
21 22 23 |
# File 'lib/api_brasil/core/errors.rb', line 21 def error_code @error_code end |
#previous ⇒ Exception? (readonly)
Returns erro original, quando houver.
27 28 29 |
# File 'lib/api_brasil/core/errors.rb', line 27 def previous @previous end |
#response ⇒ Object? (readonly)
Returns corpo completo da resposta de erro.
24 25 26 |
# File 'lib/api_brasil/core/errors.rb', line 24 def response @response end |
#status ⇒ Integer? (readonly)
Returns status HTTP retornado pela API (ex: 401, 402).
18 19 20 |
# File 'lib/api_brasil/core/errors.rb', line 18 def status @status end |
Class Method Details
.from(error) ⇒ ApiBrasilError
Converte qualquer erro em um ApiBrasilError.
51 52 53 54 55 56 |
# File 'lib/api_brasil/core/errors.rb', line 51 def self.from(error) return error if error.is_a?(ApiBrasilError) return new(error., previous: error) if error.is_a?(Exception) new(error.to_s) end |
Instance Method Details
#insufficient_balance? ⇒ Boolean
true quando a falha foi por saldo/creditos insuficientes (HTTP 402).
38 39 40 |
# File 'lib/api_brasil/core/errors.rb', line 38 def insufficient_balance? status == 402 end |
#unauthorized? ⇒ Boolean
true quando a falha foi de autenticacao (HTTP 401).
43 44 45 |
# File 'lib/api_brasil/core/errors.rb', line 43 def status == 401 end |