Sha256: ac871d017372d47cd045484009e6e5425170436227d7f1b4b74171c8271fef5a

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

require 'pact/provider/state/provider_state_proxy'

module Pact

  def self.provider_world
    @world ||= Pact::Provider::World.new
  end

  # internal api, for testing only
  def self.clear_provider_world
    @world = nil
  end

  module Provider
    class World

      attr_accessor :pact_sources, :failed_examples

      def provider_states
        @provider_states_proxy ||= Pact::Provider::State::ProviderStateProxy.new
      end

      def add_pact_verification verification
        pact_verifications << verification
      end

      def pact_verifications
        @pact_verifications ||= []
      end

      def pact_urls
        (pact_verifications.collect(&:uri) + pact_uris_from_pact_uri_sources).compact
      end

      def add_pact_uri_source pact_uri_source
        pact_uri_sources << pact_uri_source
      end

      private

      def pact_uri_sources
        @pact_uri_sources ||= []
      end

      def pact_uris_from_pact_uri_sources
        pact_uri_sources.collect(&:call).flatten
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pact-1.56.0 lib/pact/provider/world.rb
pact-1.55.7 lib/pact/provider/world.rb
pact-1.55.6 lib/pact/provider/world.rb
pact-1.55.5 lib/pact/provider/world.rb
pact-1.55.4 lib/pact/provider/world.rb
pact-1.55.3 lib/pact/provider/world.rb
pact-1.55.2 lib/pact/provider/world.rb