Module: Creditsafe::Messages

Defined in:
lib/creditsafe/messages.rb

Defined Under Namespace

Classes: Message

Constant Summary collapse

NO_RESULTS =

rubocop:disable Metrics/LineLength

Message.new(code: "010101", message: "No results")
TOO_MANY_RESULTS =
Message.new(code: "010102", message: "Too many results")
REPORT_UNAVAILABLE =
Message.new(code: "010103", message: "Report unavailable", error: true)
Message.new(code: "010104", message: "Report unavailable due to legal causes", error: true)
REPORT_UNAVAILABLE_ONLINE =
Message.new(code: "010105", message: "Report unavailable online", error: true)
Message.new(code: "010106", message: "Legal notice")
INVALID_CREDENTIALS =
Message.new(code: "020101", message: "Invalid credentials", error: true)
ACCESS_RESTRICTED =
Message.new(code: "020102", message: "Access restricted", error: true)
ACCESS_LIMITS_NEARING =
Message.new(code: "020103", message: "Access limits nearing")
REPORTBOX_ALMOST_FULL =
Message.new(code: "020201", message: "Reportbox almost full", error: true)
REPORTBOX_FULL =
Message.new(code: "020202", message: "Reportbox full", error: true)
INVALID_REQUEST_XML =
Message.new(code: "030101", message: "Invalid request XML", error: true)
INVALID_OPERATION_PARAMS =
Message.new(code: "030102", message: "Invalid operation parameters", error: true)
OPERATION_NOT_SUPPORTED =
Message.new(code: "030103", message: "Operation not supported", error: true)
INVALID_CUSTOM_DATA_SPECIFIED =
Message.new(code: "030104", message: "Invalid custom data specified", error: true)
CHANGE_NOTIFICATION =
Message.new(code: "030201", message: "Change notification")
TEMPORARY_SYSTEM_PROBLEM =
Message.new(code: "030202", message: "Temporary system problem", error: true)
ENDPOINT_SHUTDOWN =
Message.new(code: "030203", message: "Endpoint shutdown", error: true)
UNEXPECTED_INTERNAL_ERROR =
Message.new(code: "040101", message: "Unexpected internal error", error: true)
OTHER_ERROR =
Message.new(code: "040102", message: "Other", error: true)
DATA_SERVICE_PROBLEMS =
Message.new(code: "040103", message: "Data service access problems", error: true)
DATA_SERVICE_INVALID_RESPONSE =
Message.new(code: "040104", message: "Data service invalid response", error: true)
ALL =

rubocop:enable Metrics/LineLength

[
  NO_RESULTS,
  TOO_MANY_RESULTS,
  REPORT_UNAVAILABLE,
  REPORT_UNAVAILABLE_LEGAL,
  REPORT_UNAVAILABLE_ONLINE,
  LEGAL_NOTICE,
  INVALID_CREDENTIALS,
  ACCESS_RESTRICTED,
  ACCESS_LIMITS_NEARING,
  REPORTBOX_ALMOST_FULL,
  REPORTBOX_FULL,
  INVALID_REQUEST_XML,
  INVALID_OPERATION_PARAMS,
  OPERATION_NOT_SUPPORTED,
  INVALID_CUSTOM_DATA_SPECIFIED,
  CHANGE_NOTIFICATION,
  TEMPORARY_SYSTEM_PROBLEM,
  ENDPOINT_SHUTDOWN,
  UNEXPECTED_INTERNAL_ERROR,
  OTHER_ERROR,
  DATA_SERVICE_PROBLEMS,
  DATA_SERVICE_INVALID_RESPONSE,
].freeze

Class Method Summary collapse

Class Method Details

.for_code(code) ⇒ Object

Creditsafe documentation shows a 6 digit error code, however their API strips the leading 0. To comply with the docs, we pad the API code here to ensure we find the right match



86
87
88
89
90
91
92
93
94
95
# File 'lib/creditsafe/messages.rb', line 86

def self.for_code(code)
  padded_code = code.rjust(6, "0")
  message = ALL.find { |msg| msg.code == padded_code }

  if message.nil?
    message = Message.new(code: code, message: "Unknown error", error: true)
  end

  message
end