Class: LogMagic
- Inherits:
-
Object
show all
- Defined in:
- lib/log_magic.rb
Defined Under Namespace
Modules: JSONUtils, TemplatingUtils
Classes: LogListener, PersistanceLayer, SearchkickExplainer, SearchkickPrinter, SearchkickRefiner
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(log_file_name) ⇒ LogMagic
Returns a new instance of LogMagic.
6
7
8
9
10
11
|
# File 'lib/log_magic.rb', line 6
def initialize(log_file_name)
@log_file_name = log_file_name
@refiners = []
@persistance_layer = PersistanceLayer.new
add_searchkick_refiner
end
|
Instance Attribute Details
#persistance_layer ⇒ Object
Returns the value of attribute persistance_layer.
4
5
6
|
# File 'lib/log_magic.rb', line 4
def persistance_layer
@persistance_layer
end
|
Instance Method Details
#add_line_to_refiners(line) ⇒ Object
30
31
32
33
34
|
# File 'lib/log_magic.rb', line 30
def add_line_to_refiners(line)
@refiners.each do |refiner|
refiner.lines << line
end
end
|
#add_searchkick_refiner ⇒ Object
44
45
46
|
# File 'lib/log_magic.rb', line 44
def add_searchkick_refiner
@refiners << SearchkickRefiner.new
end
|
#check_for_refiner_match ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/log_magic.rb', line 36
def check_for_refiner_match
@refiners.any? do |refiner|
if refiner.matches?
yield refiner
end
end
end
|
#database_name ⇒ Object
13
14
15
|
# File 'lib/log_magic.rb', line 13
def database_name
@persistance_layer.database_name
end
|
#initialize_listener ⇒ Object
17
18
19
|
# File 'lib/log_magic.rb', line 17
def initialize_listener
@log_listener = LogListener.new(@log_file_name)
end
|
#start ⇒ Object
21
22
23
24
25
26
27
28
|
# File 'lib/log_magic.rb', line 21
def start
@log_listener.listen do |line|
add_line_to_refiners(line)
check_for_refiner_match do |refiner|
puts refiner.compute(persistance_layer)
end
end
end
|