class Sherlog::CountListener

Attributes

category[R]
exception[R]
level[R]
origin[R]

Public Class Methods

new() click to toggle source
# File lib/sherlog_holmes/listeners/count_listener.rb, line 28
def initialize
  @level = {}
  @category = {}
  @origin = {}
  @exception = {}
end

Public Instance Methods

call(entry) click to toggle source
# File lib/sherlog_holmes/listeners/count_listener.rb, line 35
def call(entry)
  initialize_counters entry
  count entry
end

Private Instance Methods

count(entry) click to toggle source
# File lib/sherlog_holmes/listeners/count_listener.rb, line 51
def count(entry)
  @level[entry.level] += 1 if entry.level
  @category[entry.category] += 1 if entry.category
  @origin[entry.origin] += 1 if entry.origin
  entry.exceptions.each do |exception|
    @exception[exception] += 1
  end
end
initialize_counters(entry) click to toggle source
# File lib/sherlog_holmes/listeners/count_listener.rb, line 42
def initialize_counters(entry)
  @level[entry.level] ||= 0 if entry.level
  @category[entry.category] ||= 0 if entry.category
  @origin[entry.origin] ||= 0 if entry.origin
  entry.exceptions.each do |exception|
    @exception[exception] ||= 0
  end
end