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,14 +6,20 @@ require "searchkick/index"
6 require "searchkick/reindex" 6 require "searchkick/reindex"
7 require "searchkick/results" 7 require "searchkick/results"
8 require "searchkick/query" 8 require "searchkick/query"
9 -require "searchkick/search"  
10 require "searchkick/similar" 9 require "searchkick/similar"
11 require "searchkick/model" 10 require "searchkick/model"
12 require "searchkick/tasks" 11 require "searchkick/tasks"
13 require "searchkick/logging" if defined?(Rails) 12 require "searchkick/logging" if defined?(Rails)
14 13
15 module Searchkick 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 def self.client 23 def self.client
18 @client ||= Elasticsearch::Client.new(url: ENV["ELASTICSEARCH_URL"]) 24 @client ||= Elasticsearch::Client.new(url: ENV["ELASTICSEARCH_URL"])
19 end 25 end
lib/searchkick/model.rb
@@ -19,7 +19,14 @@ module Searchkick @@ -19,7 +19,14 @@ module Searchkick
19 Searchkick::Index.new(index) 19 Searchkick::Index.new(index)
20 end 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 extend Searchkick::Reindex 30 extend Searchkick::Reindex
24 include Searchkick::Similar 31 include Searchkick::Similar
25 32
lib/searchkick/search.rb
@@ -1,14 +0,0 @@ @@ -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,7 +12,7 @@ module Searchkick
12 options[:where][:_id][:not] = id.to_s 12 options[:where][:_id][:not] = id.to_s
13 options[:limit] ||= 10 13 options[:limit] ||= 10
14 options[:similar] = true 14 options[:similar] = true
15 - self.class.search(like_text, options) 15 + self.class.send(Searchkick.search_method_name, like_text, options)
16 end 16 end
17 17
18 end 18 end