Sha256: 8f7ae8b47bc03407242fbf53924d110254f03a8f8e4531694334f11a50225997
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module RequestLogAnalyzer module Tracker # Base tracker. All other trackers inherit from this class # # Accepts the following options: # * <tt>:line_type</tt> The line type that contains the duration field (determined by the category proc). # * <tt>:if</tt> Proc that has to return !nil for a request to be passed to the tracker. # * <tt>:output</tt> Direct output here (defaults to STDOUT) # # For example :if => lambda { |request| request[:duration] && request[:duration] > 1.0 } class Base attr_reader :options def initialize(options ={}) @options = options end def prepare end def update(request) end def finalize end def should_update?(request) return false if options[:line_type] && !request.has_line_type?(options[:line_type]) if options[:if].kind_of?(Symbol) return false unless request[options[:if]] elsif options[:if].respond_to?(:call) return false unless options[:if].call(request) end if options[:unless].kind_of?(Symbol) return false if request[options[:unless]] elsif options[:unless].respond_to?(:call) return false if options[:unless].call(request) end return true end def report(output) output << self.inspect output << "\n" end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
wvanbergen-request-log-analyzer-1.1.0 | lib/request_log_analyzer/tracker/base.rb |
request-log-analyzer-1.1.0 | lib/request_log_analyzer/tracker/base.rb |