Sha256: 38980612ef29c9e3dd0016b1609676789bcd092814230e12a26702d90e405683

Contents?: true

Size: 806 Bytes

Versions: 37

Compression:

Stored size: 806 Bytes

Contents

require "pact_broker/configuration"
require "pact_broker/error"
require "pact_broker/logging"
require "securerandom"

module PactBroker
  module Errors
    include PactBroker::Logging

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

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

    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
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
pact_broker-2.107.1 lib/pact_broker/errors.rb
pact_broker-2.107.0 lib/pact_broker/errors.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/errors.rb
pact_broker-2.106.0 lib/pact_broker/errors.rb
pact_broker-2.105.0 lib/pact_broker/errors.rb
pact_broker-2.104.0 lib/pact_broker/errors.rb
pact_broker-2.103.0 lib/pact_broker/errors.rb
pact_broker-2.102.2 lib/pact_broker/errors.rb
pact_broker-2.102.1 lib/pact_broker/errors.rb
pact_broker-2.102.0 lib/pact_broker/errors.rb
pact_broker-2.101.0 lib/pact_broker/errors.rb
pact_broker-2.100.0 lib/pact_broker/errors.rb
pact_broker-2.99.0 lib/pact_broker/errors.rb
pact_broker-2.98.0 lib/pact_broker/errors.rb
pact_broker-2.97.0 lib/pact_broker/errors.rb
pact_broker-2.96.0 lib/pact_broker/errors.rb
pact_broker-2.95.1 lib/pact_broker/errors.rb
pact_broker-2.95.0 lib/pact_broker/errors.rb
pact_broker-2.94.0 lib/pact_broker/errors.rb
pact_broker-2.93.4 lib/pact_broker/errors.rb