Commit f7fe8ee765bf6ad311d0410a9adf4bc67d1ba9b6

Authored by Cory O'Daniel
1 parent 95672b1c

added Searchkick.search_method_name to allow for changing the search method when…

… it conflicts with other gems
lib/searchkick.rb
... ... @@ -6,14 +6,20 @@ require "searchkick/index"
6 6 require "searchkick/reindex"
7 7 require "searchkick/results"
8 8 require "searchkick/query"
9   -require "searchkick/search"
10 9 require "searchkick/similar"
11 10 require "searchkick/model"
12 11 require "searchkick/tasks"
13 12 require "searchkick/logging" if defined?(Rails)
14 13  
15 14 module Searchkick
  15 + def self.search_method_name=(_search_method_name)
  16 + @search_method_name ||= _search_method_name
  17 + end
16 18  
  19 + def self.search_method_name
  20 + @search_method_name || :search
  21 + end
  22 +
17 23 def self.client
18 24 @client ||= Elasticsearch::Client.new(url: ENV["ELASTICSEARCH_URL"])
19 25 end
... ...
lib/searchkick/model.rb
... ... @@ -19,7 +19,14 @@ module Searchkick
19 19 Searchkick::Index.new(index)
20 20 end
21 21  
22   - extend Searchkick::Search
  22 + define_singleton_method(Searchkick.search_method_name) do |term, options={}|
  23 + query = Searchkick::Query.new(self, term, options)
  24 + if options[:execute] == false
  25 + query
  26 + else
  27 + query.execute
  28 + end
  29 + end
23 30 extend Searchkick::Reindex
24 31 include Searchkick::Similar
25 32  
... ...
lib/searchkick/search.rb
... ... @@ -1,14 +0,0 @@
1   -module Searchkick
2   - module Search
3   -
4   - def search(term, options = {})
5   - query = Searchkick::Query.new(self, term, options)
6   - if options[:execute] == false
7   - query
8   - else
9   - query.execute
10   - end
11   - end
12   -
13   - end
14   -end
lib/searchkick/similar.rb
... ... @@ -12,7 +12,7 @@ module Searchkick
12 12 options[:where][:_id][:not] = id.to_s
13 13 options[:limit] ||= 10
14 14 options[:similar] = true
15   - self.class.search(like_text, options)
  15 + self.class.send(Searchkick.search_method_name, like_text, options)
16 16 end
17 17  
18 18 end
... ...