class Pact::Message::Consumer::Configuration::MessageBuilder

Attributes

consumer_name[RW]
pact_specification_version[RW]
provider_name[RW]

Public Class Methods

new(name, consumer_name, provider_name) click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 15
def initialize name, consumer_name, provider_name
  @name = name
  @consumer_name = consumer_name
  @provider_name = provider_name
  @pact_specification_version = nil
end

Public Instance Methods

finalize() click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 28
def finalize
  configure_consumer_contract_builder
end

Private Instance Methods

configure_consumer_contract_builder() click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 34
def configure_consumer_contract_builder
  consumer_contract_builder = create_consumer_contract_builder
  create_consumer_contract_builders_method consumer_contract_builder
  setup_verification(consumer_contract_builder)
  consumer_contract_builder
end
create_consumer_contract_builder() click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 41
def create_consumer_contract_builder
  consumer_contract_builder_fields = {
    :consumer_name => consumer_name,
    :provider_name => provider_name,
  }
    # :pactfile_write_mode => Pact.configuration.pactfile_write_mode,
    # :pact_dir => Pact.configuration.pact_dir
  Pact::Message::Consumer::ConsumerContractBuilder.new consumer_contract_builder_fields
end
create_consumer_contract_builders_method(consumer_contract_builder) click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 57
def create_consumer_contract_builders_method consumer_contract_builder
  Pact::Message::Consumer::ConsumerContractBuilders.send(:define_method, @name.to_sym) do
    consumer_contract_builder
  end
  # Pact.consumer_world.add_consumer_contract_builder consumer_contract_builder
end
setup_verification(consumer_contract_builder) click to toggle source
# File lib/pact/message/consumer/configuration/message_builder.rb, line 51
def setup_verification consumer_contract_builder
  Pact.configuration.add_message_provider_verification do | example_description |
    consumer_contract_builder.verify example_description
  end
end