class Pact::Provider::Configuration::ServiceProviderDSL

Constants

CONFIG_RU_APP

Attributes

app_block[RW]
application_version[RW]
branch[RW]
build_url[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 33
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 41
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 45
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 53
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 49
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 77
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 81
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 85
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 68
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 72
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 97
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 101
def create_service_provider
  Pact.configuration.provider = ServiceProviderConfig.new(application_version, branch, tags, publish_verification_results, build_url, &@app_block)
end
validate() click to toggle source
# File lib/pact/provider/configuration/service_provider_dsl.rb, line 92
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