Module: PactBroker::Errors

Includes:
Logging
Defined in:
lib/pact_broker/errors.rb,
lib/pact_broker/errors/error_logger.rb

Defined Under Namespace

Classes: ErrorLogger

Class Method Summary collapse

Methods included from Logging

included, #log_error, #log_with_tag

Class Method Details

.generate_error_referenceObject



10
11
12
# File 'lib/pact_broker/errors.rb', line 10

def self.generate_error_reference
  SecureRandom.urlsafe_base64.gsub(/[^a-z]/i, "")[0,10]
end

.report(error, error_reference, env) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/pact_broker/errors.rb', line 18

def self.report error, error_reference, env
  PactBroker.configuration.api_error_reporters.each do | error_notifier |
    begin
      error_notifier.call(error, env: env, error_reference: error_reference)
    rescue StandardError => e
      log_error(e, "Error executing api_error_reporter")
    end
  end
end

.reportable_error?(error) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/pact_broker/errors.rb', line 14

def self.reportable_error?(error)
  error.is_a?(PactBroker::TestError) || (!error.is_a?(PactBroker::Error) && !error.is_a?(JSON::JSONError))
end