Class: Overseer::TestingControl::Rails::CorrelationMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/overseer/testing_control/rails/correlation_middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ CorrelationMiddleware

Returns a new instance of CorrelationMiddleware.



7
8
9
# File 'lib/overseer/testing_control/rails/correlation_middleware.rb', line 7

def initialize(app)
  @app = app
end

Instance Method Details

#call(environment) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/overseer/testing_control/rails/correlation_middleware.rb', line 11

def call(environment)
  return @app.call(environment) unless Overseer::TestingControl::Rails.active?

  # Memory stores belong to one process. Serialize its public and control
  # requests so reset cannot race a mutation or capture in that process.
  Overseer::TestingControl::Rails.configuration.request_lock.synchronize do
    correlated_call(environment)
  end
end