class Rack::PactBroker::UseWhen::ConditionallyUseMiddleware
Attributes
app_without_middleware[R]
args[R]
block[R]
condition_proc[R]
kwargs[R]
middleware[R]
Public Class Methods
new(app, condition_proc, middleware, *args, **kwargs, &block)
click to toggle source
# File lib/rack/pact_broker/use_when.rb, line 18 def initialize(app, condition_proc, middleware, *args, **kwargs, &block) @app_without_middleware = app @condition_proc = condition_proc @middleware = middleware @args = args @kwargs = kwargs @block = block end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/pact_broker/use_when.rb, line 27 def call(env) if condition_proc.call(env) app_with_middleware.call(env) else app_without_middleware.call(env) end end
Private Instance Methods
app_with_middleware()
click to toggle source
# File lib/rack/pact_broker/use_when.rb, line 39 def app_with_middleware @app_with_middleware ||= begin rack_builder = ::Rack::Builder.new rack_builder.use middleware, *args, **kwargs, &block rack_builder.run app_without_middleware rack_builder.to_app end end