Sha256: 54edb2f8068e0bbf57944e1152ea63be0de807c30200bc6820cdd44ca440b87c

Contents?: true

Size: 1.45 KB

Versions: 2

Compression:

Stored size: 1.45 KB

Contents

module RequestLogAnalyzer::Aggregator
  # The base class of an aggregator. This class provides the interface to which
  # every aggregator should comply (by simply subclassing this class).
  class Base
    attr_reader :options, :source

    # Intializes a new RequestLogAnalyzer::Aggregator::Base instance
    # It will include the specific file format module.
    def initialize(source, options = {})
      @source = source
      @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

require 'request_log_analyzer/aggregator/echo'
require 'request_log_analyzer/aggregator/summarizer'
require 'request_log_analyzer/aggregator/database_inserter'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
request-log-analyzer-1.13.4 lib/request_log_analyzer/aggregator.rb
request-log-analyzer-1.13.3 lib/request_log_analyzer/aggregator.rb