Sha256: 0252866866bdefbd5cd9a7c8341381b9cd945456cb461a165dd9b6635050b779

Contents?: true

Size: 485 Bytes

Versions: 4

Compression:

Stored size: 485 Bytes

Contents

module PactBroker
  module Contracts
    ContractToPublish = Struct.new(:consumer_name, :provider_name, :decoded_content, :content_type, :specification, :on_conflict, :pact_version_sha, keyword_init: true) do

      def self.from_hash(hash)
        new(**hash)
      end

      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

4 entries across 4 versions & 1 rubygems

Version Path
pact_broker-2.112.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.111.0 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.109.1 lib/pact_broker/contracts/contract_to_publish.rb
pact_broker-2.109.0 lib/pact_broker/contracts/contract_to_publish.rb