Class: RubyApp::Rack::Duration

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_app/rack/duration.rb

Instance Method Summary collapse

Constructor Details

#initialize(application, options = {}) ⇒ Duration

Returns a new instance of Duration.



8
9
10
11
12
# File 'lib/ruby_app/rack/duration.rb', line 8

def initialize(application, options = {})
  @application = application
  @options = {:interval => 5}.merge(options)
  @count = 0
end

Instance Method Details

#call(environment) ⇒ Object



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

def call(environment)
  if @count.modulo(@options[:interval]) == 0
    @count = 1
    RubyApp::Log.duration(RubyApp::Log::INFO, 'DURATION ') do
      return @application.call(environment)
    end
  else
    @count += 1
    return @application.call(environment)
  end
end