class Booker::Error

Attributes

description[RW]
error[RW]
message[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
    if response.parsed_response.is_a?(Hash)
      self.error = response.parsed_response['error'] || response.parsed_response['ErrorMessage']
      self.description = response.parsed_response['error_description']
    end
    error_msg_from_response = self.response.try(:parsed_response) || self.response
  end

  self.message = error_msg_from_response || "Error occurred, but no response was returned."
  self.url = url
end