Class: PerfCheck::Middleware

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



6
7
8
9
10
11
12
13
# File 'lib/perf_check/middleware.rb', line 6

def initialize(app)
  @app = app

  self.query_count = 0
  ActiveSupport::Notifications.subscribe('sql.active_record') do |_|
    self.query_count += 1
  end
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



3
4
5
# File 'lib/perf_check/middleware.rb', line 3

def app
  @app
end

#query_countObject

Returns the value of attribute query_count.



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

def query_count
  @query_count
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/perf_check/middleware.rb', line 15

def call(env)
  self.query_count = 0
  status, headers, body = app.call(env)

  headers['X-PerfCheck-Query-Count'] = query_count.to_s

  [status, headers, body]
end