Commit de33b23adb92090df60cfa5e421900a2f04c20b7

Authored by Andrew Kane
1 parent b68ea4aa

Added logger for Rails

lib/searchkick.rb
... ... @@ -5,6 +5,7 @@ require "searchkick/results"
5 5 require "searchkick/search"
6 6 require "searchkick/model"
7 7 require "searchkick/tasks"
  8 +require "searchkick/logger" if defined?(Rails)
8 9  
9 10 # TODO find better ActiveModel hook
10 11 ActiveModel::AttributeMethods::ClassMethods.send(:include, Searchkick::Model)
... ...
lib/searchkick/logger.rb 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +require "tire/rails/logger"
  2 +require "tire/rails/logger/log_subscriber"
  3 +
  4 +class Tire::Rails::LogSubscriber
  5 +
  6 + # better output format
  7 + def search(event)
  8 + self.class.runtime += event.duration
  9 + return unless logger.debug?
  10 +
  11 + payload = event.payload
  12 +
  13 + name = "%s (%.1fms)" % [payload[:name], event.duration]
  14 + query = payload[:search].to_s
  15 +
  16 + debug " #{color(name, YELLOW, true)} #{query}"
  17 + end
  18 +
  19 +end
... ...
searchkick.gemspec
... ... @@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19 19 spec.require_paths = ["lib"]
20 20  
21 21 spec.add_dependency "tire"
  22 + spec.add_dependency "tire-contrib"
22 23  
23 24 spec.add_development_dependency "bundler", "~> 1.3"
24 25 spec.add_development_dependency "rake"
... ...