Class: Ardisconnector::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/ardisconnector/middleware.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



10
11
12
# File 'lib/ardisconnector/middleware.rb', line 10

def initialize(app)
  @app = app
end

Class Method Details

.modelsObject



4
5
6
7
# File 'lib/ardisconnector/middleware.rb', line 4

def models
  @models ||= [ActiveRecord::Base]
  @models
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ardisconnector/middleware.rb', line 14

def call(env)
  res = @app.call env
  res[2] = Rack::BodyProxy.new(res[2]) do
    self.class.models.each do |klass|
      conn = klass.connection
      conn.disconnect!
      klass.connection_pool.remove conn
    end
  end
  res
end