Sha256: 34a17dccb2363f8acf3852905c2430f9461b29d6cd43225665fe4a5c250182c7

Contents?: true

Size: 953 Bytes

Versions: 3

Compression:

Stored size: 953 Bytes

Contents

# frozen_string_literal: true

require "zeitwerk"
require "pact/ffi"

require "sbmt/pact/railtie" if defined?(Rails::Railtie)

module Sbmt
  module Pact
    class Error < StandardError; end

    class ImplementationRequired < Error; end

    class FfiError < Error
      def initialize(msg, reason, status)
        super(msg)

        @msg = msg
        @reason = reason
        @status = status
      end

      def message
        "FFI error: reason: #{@reason}, status: #{@status}, message: #{@msg}"
      end
    end

    def self.configure
      yield configuration if block_given?
    end

    def self.configuration
      @configuration ||= Sbmt::Pact::Configuration.new
    end
  end
end

loader = Zeitwerk::Loader.new
loader.push_dir(File.join(__dir__, ".."))

loader.tag = "sbmt-pact"

loader.ignore("#{__dir__}/pact/version.rb")
loader.ignore("#{__dir__}/pact/rspec.rb")
loader.ignore("#{__dir__}/pact/rspec")

loader.setup
loader.eager_load

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sbmt-pact-0.12.2 lib/sbmt/pact.rb
sbmt-pact-0.12.1 lib/sbmt/pact.rb
sbmt-pact-0.12.0 lib/sbmt/pact.rb