Class: LogMagic::SearchkickRefiner

Inherits:
Object
  • Object
show all
Defined in:
lib/log_magic/refiners/searchkick_refiner.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSearchkickRefiner



4
5
6
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 4

def initialize
  @lines = []
end

Instance Attribute Details

#linesObject

Returns the value of attribute lines.



2
3
4
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 2

def lines
  @lines
end

Instance Method Details

#compute(persistance_layer) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 12

def compute(persistance_layer)
  elasticsearch_url = extract_elasticsearch_url
  persist_elasticsearch_url(persistance_layer, elasticsearch_url)

  query_json = extract_query_json
  persist_query_json(persistance_layer, query_json)

  output(query_json, persistance_layer.uuid)
end

#extract_elasticsearch_urlObject



31
32
33
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 31

def extract_elasticsearch_url
  @lines.last.match(/https?:\/\/[^\/]*\/[^\/]*/)[0]
end

#extract_query_jsonObject



27
28
29
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 27

def extract_query_json
  @lines.last.match(/'.*'/)[0][1..-2]
end

#matches?Boolean



8
9
10
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 8

def matches?
  lines.last =~ /Search[^c]*curl/
end

#output(query_json, uuid) ⇒ Object



22
23
24
25
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 22

def output(query_json, uuid)
  searchkick_printer = ::LogMagic::SearchkickPrinter.new(query_json, uuid)
  searchkick_printer.print
end

#persist_elasticsearch_url(persistance_layer, elasticsearch_url) ⇒ Object



39
40
41
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 39

def persist_elasticsearch_url(persistance_layer, elasticsearch_url)
  persistance_layer.add_value('elasticsearch_url', elasticsearch_url)
end

#persist_query_json(persistance_layer, query_json) ⇒ Object



35
36
37
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 35

def persist_query_json(persistance_layer, query_json)
  persistance_layer.add_value('query_json', query_json)
end