class Pact::Provider::Configuration::ServiceProviderDSL

Constants

CONFIG_RU_APP

Attributes

app_block[RW]
application_version[RW]
branch[RW]
name[RW]
publish_verification_results[RW]
tags[RW]

Public Class Methods

new(name) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 27
def initialize name
  @name = name
  @publish_verification_results = false
  @tags = []
  @app_block = CONFIG_RU_APP
end

Public Instance Methods

app(&block) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 35
def app &block
  self.app_block = block
end
app_version(application_version) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 39
def app_version application_version
  self.application_version = application_version
end
app_version_branch(branch) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 47
def app_version_branch branch
  self.branch = branch
end
app_version_tags(tags) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 43
def app_version_tags tags
  self.tags = tags
end
create_pact_verification(consumer_name, options, &block) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 67
def create_pact_verification consumer_name, options, &block
  PactVerification.build(consumer_name, options, &block)
end
create_pact_verification_from_broker(&block) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 71
def create_pact_verification_from_broker(&block)
  PactVerificationFromBroker.build(name, branch, tags, &block)
end
finalize() click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 75
def finalize
  validate
  create_service_provider
end
honours_pact_with(consumer_name, options = {}) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 58
def honours_pact_with consumer_name, options = {}, &block
  create_pact_verification consumer_name, options, &block
end
honours_pacts_from_pact_broker(&block) click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 62
def honours_pacts_from_pact_broker &block
  create_pact_verification_from_broker &block
end

Private Instance Methods

application_version_blank?() click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 87
def application_version_blank?
  application_version.nil? || application_version.strip.empty?
end
create_service_provider() click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 91
def create_service_provider
  Pact.configuration.provider = ServiceProviderConfig.new(application_version, branch, tags, publish_verification_results, &@app_block)
end
validate() click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 82
def validate
  raise Error.new("Please provide a name for the Provider") unless name && !name.strip.empty?
  raise Error.new("Please set the app_version when publish_verification_results is true") if publish_verification_results && application_version_blank?
end