Sha256: 21d48cd64bc759ee86e6899c2fa313dea6d9192b8f7a993db742a42c68b8194e

Contents?: true

Size: 734 Bytes

Versions: 13

Compression:

Stored size: 734 Bytes

Contents

module PactBroker
  module Contracts
    ContractToPublish = Struct.new(:consumer_name, :provider_name, :decoded_content, :content_type, :specification, :on_conflict) do
      # rubocop: disable Metrics/ParameterLists
      def self.from_hash(consumer_name: nil, provider_name: nil, decoded_content: nil, content_type: nil, specification: nil, on_conflict: nil)
        new(consumer_name, provider_name, decoded_content, content_type, specification, on_conflict)
      end
      # rubocop: enable Metrics/ParameterLists

      def pact?
        specification == "pact"
      end

      def merge?
        on_conflict == "merge"
      end

      def pacticipant_names
        [consumer_name, provider_name]
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pact_broker-2.108.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.107.1 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.107.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.106.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.105.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.104.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.103.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.102.2 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.102.1 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.102.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.101.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.100.0 lib/pact_broker/contracts/contract_to_publish.rb