Sha256: c0ff127d48a8b9586a849f460124e5cc6d9ad0242c75e725f5ff685de3baff2d
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'pact/consumer_contract' require_relative 'base_client' module PactBroker module Client class Pacts < BaseClient def publish options consumer_version = options[:consumer_version] pact_string = options[:pact_json] consumer_contract = ::Pact::ConsumerContract.from_json pact_string url = save_consumer_contract_url consumer_contract, consumer_version response = self.class.put(url, body: pact_string, headers: default_put_headers) handle_response(response) do true end end def last options url = find_last_consumer_contract_url options query = options[:tag] ? {tag: options[:tag]} : {} response = self.class.get(url, headers: default_get_headers, query: query) handle_response(response) do response.body end end private def find_last_consumer_contract_url options consumer_name = encode_param(options[:consumer]) provider_name = encode_param(options[:provider]) "/pacticipants/#{consumer_name}/versions/last/pacts/#{provider_name}" end def save_consumer_contract_url consumer_contract, consumer_version consumer_name = encode_param(consumer_contract.consumer.name) provider_name = encode_param(consumer_contract.provider.name) version = encode_param(consumer_version) "/pacticipants/#{consumer_name}/versions/#{version}/pacts/#{provider_name}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-client-0.0.2 | lib/pact_broker/client/pacts.rb |