class Pact::Message::Consumer::UpdatePact

Attributes

consumer_name[R]
message[R]
pact_dir[R]
pact_specification_version[R]
provider_name[R]

Public Class Methods

call(message, pact_dir, consumer_name, provider_name, pact_specification_version) click to toggle source
# File lib/pact/message/consumer/update_pact.rb, line 17
def self.call(message, pact_dir, consumer_name, provider_name, pact_specification_version)
  new(message, pact_dir, consumer_name, provider_name, pact_specification_version).call
end
new(message, pact_dir, consumer_name, provider_name, pact_specification_version) click to toggle source
# File lib/pact/message/consumer/update_pact.rb, line 9
def initialize message, pact_dir, consumer_name, provider_name, pact_specification_version
  @pact_dir = pact_dir
  @message = message
  @consumer_name = consumer_name
  @provider_name = provider_name
  @pact_specification_version = pact_specification_version
end

Public Instance Methods

call() click to toggle source
# File lib/pact/message/consumer/update_pact.rb, line 21
def call
  details = {
    consumer: {name: consumer_name},
    provider: {name: provider_name},
    interactions: [message],
    pactfile_write_mode: :update,
    pact_dir: pact_dir,
    pact_specification_version: pact_specification_version,
    error_stream: StringIO.new,
    output_stream: StringIO.new,
    consumer_contract_decorator_class: Pact::Message::Consumer::ConsumerContractDecorator
  }
  writer = Pact::ConsumerContractWriter.new(details, Logger.new(StringIO.new))
  writer.write
end