Class: Pact::Message::Consumer::UpdatePact

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, pact_dir, consumer_name, provider_name, pact_specification_version) ⇒ UpdatePact

Returns a new instance of UpdatePact.



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

Class Method Details

.call(message, pact_dir, consumer_name, provider_name, pact_specification_version) ⇒ Object



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

Instance Method Details

#callObject



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