class LogMagic

Public Class Methods

new(log_file_name) click to toggle source
# File lib/log_magic.rb, line 4
def initialize(log_file_name)
  @log_file_name = log_file_name
  reset_refiners
end

Public Instance Methods

add_line_to_refiners(line) click to toggle source
# File lib/log_magic.rb, line 23
def add_line_to_refiners(line)
  @refiners.each do |refiner|
    refiner.lines << line
  end
end
add_mysql_refiner() click to toggle source
# File lib/log_magic.rb, line 41
def add_mysql_refiner
  @refiners << MySqlRefiner.new
end
add_searchkick_refiner() click to toggle source
# File lib/log_magic.rb, line 37
def add_searchkick_refiner
  @refiners << SearchkickRefiner.new
end
check_for_refiner_match() { |refiner| ... } click to toggle source
# File lib/log_magic.rb, line 29
def check_for_refiner_match
  @refiners.any? do |refiner|
    if refiner.matches?
      yield refiner
    end
  end
end
initialize_listener() click to toggle source
# File lib/log_magic.rb, line 9
def initialize_listener
  @log_listener = LogListener.new(@log_file_name)
end
reset_refiners() click to toggle source
# File lib/log_magic.rb, line 45
def reset_refiners
  @refiners = []
  add_searchkick_refiner
  add_mysql_refiner
end
start() click to toggle source
# File lib/log_magic.rb, line 13
def start
  @log_listener.listen do |line|
    add_line_to_refiners(line)
    check_for_refiner_match do |refiner|
      puts refiner.compute
    end
    reset_refiners
  end
end