class Booker::Error

Attributes

argument_errors[RW]
description[RW]
error[RW]
request[RW]
response[RW]
url[RW]

Public Class Methods

new(url: nil, request: nil, response: nil) click to toggle source
# File lib/booker/errors.rb, line 5
def initialize(url: nil, request: nil, response: nil)
  if request.present?
    self.request = request
  end

  if response.present?
    self.response = response
    error = response
    error = response["Fault"]["Detail"]["InternalErrorFault"] if response["Fault"]
    self.error = error['error'] || error['ErrorMessage']
    self.description = error['error_description']
    self.argument_errors = error["ArgumentErrors"].map { |a| { :attr => a["ArgumentName"], :message => a["ErrorMessage"] } } unless error["ArgumentErrors"].nil?
  end

  self.url = url
end