Exception: FluvPay::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/fluvpay/errors.rb

Overview

Exceção base de todos os erros do SDK.

Carrega os campos do envelope de erro da API (+{ “error”: { code, message, details, trace_id } }+) além do status HTTP. Toda exceção tipada do SDK herda desta classe, então um único rescue FluvPay::Error captura qualquer falha conhecida.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, code: nil, details: nil, trace_id: nil, status_code: nil) ⇒ Error

Returns a new instance of Error.



20
21
22
23
24
25
26
# File 'lib/fluvpay/errors.rb', line 20

def initialize(message = nil, code: nil, details: nil, trace_id: nil, status_code: nil)
  super(message)
  @code = code
  @details = details || []
  @trace_id = trace_id
  @status_code = status_code
end

Instance Attribute Details

#codeString? (readonly)

Returns código canônico do erro (ex: “VALIDATION_ERROR”).

Returns:

  • (String, nil)

    código canônico do erro (ex: “VALIDATION_ERROR”).



12
13
14
# File 'lib/fluvpay/errors.rb', line 12

def code
  @code
end

#detailsArray<Hash> (readonly)

Returns lista de detalhes do erro (cada item com field/message/type).

Returns:

  • (Array<Hash>)

    lista de detalhes do erro (cada item com field/message/type).



14
15
16
# File 'lib/fluvpay/errors.rb', line 14

def details
  @details
end

#status_codeInteger? (readonly)

Returns status HTTP que originou o erro.

Returns:

  • (Integer, nil)

    status HTTP que originou o erro.



18
19
20
# File 'lib/fluvpay/errors.rb', line 18

def status_code
  @status_code
end

#trace_idString? (readonly)

Returns identificador da requisição para correlacionar nos logs.

Returns:

  • (String, nil)

    identificador da requisição para correlacionar nos logs.



16
17
18
# File 'lib/fluvpay/errors.rb', line 16

def trace_id
  @trace_id
end