Sha256: e62888b1c967d4413bff9d782ad1fe74d744812260e0b5bfd4c6542a135012ef
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
module Pact module Producer module DSL module Configuration def provider= provider @producer = provider end end Pact::Configuration.send(:include, Configuration) def service_provider name, &block service_provider = ServiceProviderDSL.new(name, &block).create_service_provider Pact.configuration.provider = service_provider service_provider end class ServiceProviderConfig attr_accessor :name def initialize name, &app_block @name = name @app_block = app_block end def app @app_block.call end end class ServiceProviderDSL def initialize name, &block @name = name @app = nil instance_eval(&block) end def validate raise "Please provide a name for the Producer" unless @name raise "Please configure an app for the Producer" unless @app_block end def name name @name = name end def app &block @app_block = block end def create_service_provider validate ServiceProviderConfig.new(@name, &@app_block) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pact-0.1.37 | lib/pact/producer/dsl.rb |
pact-0.1.35 | lib/pact/producer/dsl.rb |