class Pact::Message::Consumer::WritePact

Attributes

consumer_name[R]
messages[R]
pact_dir[R]
pact_specification_version[R]
pactfile_write_mode[R]
provider_name[R]

Public Class Methods

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

Public Instance Methods

call() click to toggle source
# File lib/pact/message/consumer/write_pact.rb, line 22
def call
  details = {
    consumer: { name: consumer_name },
    provider: { name: provider_name },
    interactions: [*messages],
    pactfile_write_mode: pactfile_write_mode,
    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