Class: Pact::Provider::Configuration::ServiceProviderDSL

Inherits:
Object
  • Object
show all
Extended by:
DSL
Defined in:
lib/pact/provider/configuration/service_provider_dsl.rb

Direct Known Subclasses

MessageProviderDSL

Constant Summary collapse

CONFIG_RU_APP =
lambda {
  unless File.exist? Pact.configuration.config_ru_path
    raise "Could not find config.ru file at #{Pact.configuration.config_ru_path} Please configure the service provider app or create a config.ru file in the root directory of the project. See https://github.com/pact-foundation/pact-ruby/wiki/Verifying-pacts for more information."
  end
  result = Rack::Builder.parse_file(Pact.configuration.config_ru_path)

  if result.respond_to?(:first) # rack 2
    result.first
  else # rack 3
    result
  end
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ServiceProviderDSL

Returns a new instance of ServiceProviderDSL.



33
34
35
36
37
38
# 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

Instance Attribute Details

#app_blockObject

Returns the value of attribute app_block.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def app_block
  @app_block
end

#application_versionObject

Returns the value of attribute application_version.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def application_version
  @application_version
end

#branchObject

Returns the value of attribute branch.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def branch
  @branch
end

#build_urlObject

Returns the value of attribute build_url.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def build_url
  @build_url
end

#nameObject

Returns the value of attribute name.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def name
  @name
end

#publish_verification_resultsObject

Returns the value of attribute publish_verification_results.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def publish_verification_results
  @publish_verification_results
end

#tagsObject

Returns the value of attribute tags.



18
19
20
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 18

def tags
  @tags
end

Instance Method Details

#create_pact_verification(consumer_name, options, &block) ⇒ Object



77
78
79
# 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) ⇒ Object



81
82
83
# 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

#finalizeObject



85
86
87
88
# File 'lib/pact/provider/configuration/service_provider_dsl.rb', line 85

def finalize
  validate
  create_service_provider
end