Sha256: 702dd4475f53ac6264a00434b8b26fe64f5e53acba781dd339f29786aa89fd0f

Contents?: true

Size: 1.54 KB

Versions: 12

Compression:

Stored size: 1.54 KB

Contents

module RequestLogAnalyzer::Aggregator
  
  def self.const_missing(const)
    RequestLogAnalyzer::load_default_class_file(self, const)
  end
  
  # The base class of an aggregator. This class provides the interface to which
  # every aggregator should comply (by simply subclassing this class).
  class Base
    
    include RequestLogAnalyzer::FileFormat::Awareness
    
    attr_reader :options
    attr_reader :source

    # Intializes a new RequestLogAnalyzer::Aggregator::Base instance
    # It will include the specific file format module.
    def initialize(source, options = {})
      @source = source
      self.register_file_format(source.file_format)
      @options = options
    end

    # The prepare function is called just before parsing starts. This function 
    # can be used to initialie variables, etc.
    def prepare
    end
    
    # The aggregate function is called for every request.
    # Implement the aggregating functionality in this method
    def aggregate(request)
    end
    
    # The finalize function is called after all sources are parsed and no more
    # requests will be passed to the aggregator
    def finalize
    end
    
    # The warning method is called if the parser eits a warning.
    def warning(type, message, lineno)
    end    
    
    # The report function is called at the end. Implement any result reporting
    # in this function.
    def report(output)
    end
    
    # The source_change function gets called when handling a source is started or finished.
    def source_change(change, filename)
    end

  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
wvanbergen-request-log-analyzer-1.3.0 lib/request_log_analyzer/aggregator.rb
wvanbergen-request-log-analyzer-1.3.1 lib/request_log_analyzer/aggregator.rb
wvanbergen-request-log-analyzer-1.3.2 lib/request_log_analyzer/aggregator.rb
wvanbergen-request-log-analyzer-1.3.3 lib/request_log_analyzer/aggregator.rb
wvanbergen-request-log-analyzer-1.3.4 lib/request_log_analyzer/aggregator.rb
wvanbergen-request-log-analyzer-1.3.5 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.5 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.4 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.3 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.2 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.1 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.3.0 lib/request_log_analyzer/aggregator.rb