Exception: Airwallex::Error

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, code: nil, param: nil, details: nil, http_status: nil) ⇒ Error

Returns a new instance of Error.



7
8
9
10
11
12
13
14
# File 'lib/airwallex/errors.rb', line 7

def initialize(message = nil, code: nil, param: nil, details: nil, http_status: nil)
  @code = code
  @message = message
  @param = param
  @details = details
  @http_status = http_status
  super(message)
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



5
6
7
# File 'lib/airwallex/errors.rb', line 5

def code
  @code
end

#detailsObject (readonly)

Returns the value of attribute details.



5
6
7
# File 'lib/airwallex/errors.rb', line 5

def details
  @details
end

#http_statusObject (readonly)

Returns the value of attribute http_status.



5
6
7
# File 'lib/airwallex/errors.rb', line 5

def http_status
  @http_status
end

#messageObject (readonly)

Returns the value of attribute message.



5
6
7
# File 'lib/airwallex/errors.rb', line 5

def message
  @message
end

#paramObject (readonly)

Returns the value of attribute param.



5
6
7
# File 'lib/airwallex/errors.rb', line 5

def param
  @param
end

Class Method Details

.from_response(response) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/airwallex/errors.rb', line 16

def self.from_response(response)
  body = parse_body(response.body)
  status = response.status

  error_class = error_class_for_status(status)
  error_class.new(
    body["message"],
    code: body["code"],
    param: body["source"],
    details: body["details"],
    http_status: status
  )
end