Class: LogMagic::SearchkickRefiner
- Inherits:
-
Object
- Object
- LogMagic::SearchkickRefiner
- Defined in:
- lib/log_magic/refiners/searchkick_refiner.rb
Instance Attribute Summary collapse
-
#lines ⇒ Object
Returns the value of attribute lines.
Instance Method Summary collapse
- #compute(persistance_layer) ⇒ Object
- #extract_elasticsearch_url ⇒ Object
- #extract_query_json ⇒ Object
-
#initialize ⇒ SearchkickRefiner
constructor
A new instance of SearchkickRefiner.
- #matches? ⇒ Boolean
- #output(query_json, uuid) ⇒ Object
- #persist_elasticsearch_url(persistance_layer, elasticsearch_url) ⇒ Object
- #persist_query_json(persistance_layer, query_json) ⇒ Object
Constructor Details
#initialize ⇒ SearchkickRefiner
Returns a new instance of SearchkickRefiner.
4 5 6 |
# File 'lib/log_magic/refiners/searchkick_refiner.rb', line 4 def initialize @lines = [] end |
Instance Attribute Details
#lines ⇒ Object
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_url ⇒ Object
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_json ⇒ Object
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 |