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



70
71
72
73
74
75
76
77
78
79
# File 'lib/creditsafe/messages.rb', line 70

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