Class: Pact::Message::Consumer::WritePact

Inherits:
Object
  • Object
show all
Defined in:
lib/pact/message/consumer/write_pact.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(messages, pact_dir, consumer_name, provider_name, pact_specification_version, pactfile_write_mode) ⇒ WritePact

Returns a new instance of WritePact.



9
10
11
12
13
14
15
16
# 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

Class Method Details

.call(messages, pact_dir, consumer_name, provider_name, pact_specification_version, pactfile_write_mode) ⇒ Object



18
19
20
# 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

Instance Method Details

#callObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 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