Sha256: b77d514673cbd38784d3db4979008c4478e1f96364c10fae5a1d19cc408dbb0c

Contents?: true

Size: 1.02 KB

Versions: 14

Compression:

Stored size: 1.02 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, :verbose

      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

14 entries across 14 versions & 1 rubygems

Version Path
pact-1.66.1 lib/pact/provider/world.rb
pact-1.66.0 lib/pact/provider/world.rb
pact-1.65.3 lib/pact/provider/world.rb
pact-1.65.2 lib/pact/provider/world.rb
pact-1.65.1 lib/pact/provider/world.rb
pact-1.65.0 lib/pact/provider/world.rb
pact-1.64.0 lib/pact/provider/world.rb
pact-1.63.0 lib/pact/provider/world.rb
pact-1.62.0 lib/pact/provider/world.rb
pact-1.61.0 lib/pact/provider/world.rb
pact-1.60.0 lib/pact/provider/world.rb
pact-1.59.0 lib/pact/provider/world.rb
pact-1.58.0 lib/pact/provider/world.rb
pact-1.57.0 lib/pact/provider/world.rb