Sha256: 48a11eba88edf5d47bb1d598f363ca7df0020b0564b5a1b8cf58b90743254214

Contents?: true

Size: 1.08 KB

Versions: 101

Compression:

Stored size: 1.08 KB

Contents

require 'pact/provider/pact_verification'
require 'pact/provider/pact_uri'
require 'pact/shared/dsl'
require 'pact/provider/world'

module Pact
  module Provider

    module Configuration

      class PactVerification

        extend Pact::DSL

        attr_accessor :consumer_name, :pact_uri, :ref

        def initialize consumer_name, options = {}
          @consumer_name = consumer_name
          @ref = options.fetch(:ref, :head)
          @pact_uri = nil
        end

        dsl do
          def pact_uri pact_uri, options = {}
            self.pact_uri = ::Pact::Provider::PactURI.new(pact_uri, options) if pact_uri
          end
        end

        def finalize
          validate
          create_pact_verification
        end

        private

        def create_pact_verification
          verification = Pact::Provider::PactVerification.new(consumer_name, pact_uri, ref)
          Pact.provider_world.add_pact_verification verification
        end

        def validate
          raise "Please provide a pact_uri for the verification" unless pact_uri
        end

      end
    end
  end
end

Version data entries

101 entries across 101 versions & 1 rubygems

Version Path
pact-1.44.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.43.1 lib/pact/provider/configuration/pact_verification.rb
pact-1.43.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.42.3 lib/pact/provider/configuration/pact_verification.rb
pact-1.42.2 lib/pact/provider/configuration/pact_verification.rb
pact-1.42.1 lib/pact/provider/configuration/pact_verification.rb
pact-1.42.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.41.2 lib/pact/provider/configuration/pact_verification.rb
pact-1.41.1 lib/pact/provider/configuration/pact_verification.rb
pact-1.41.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.40.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.39.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.38.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.37.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.36.2 lib/pact/provider/configuration/pact_verification.rb
pact-1.36.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.34.0 lib/pact/provider/configuration/pact_verification.rb
pact-1.33.2 lib/pact/provider/configuration/pact_verification.rb
pact-1.33.1 lib/pact/provider/configuration/pact_verification.rb
pact-1.33.0 lib/pact/provider/configuration/pact_verification.rb