lib/searchkick.rb in searchkick-2.1.1 vs lib/searchkick.rb in searchkick-2.2.0
- old
+ new
@@ -79,11 +79,21 @@
def self.server_below?(version)
Gem::Version.new(server_version.sub("-", ".")) < Gem::Version.new(version.sub("-", "."))
end
def self.search(term = "*", **options, &block)
- query = Searchkick::Query.new(nil, term, options)
+ klass = options[:model]
+
+ # TODO add in next major version
+ # if !klass
+ # index_name = Array(options[:index_name])
+ # if index_name.size == 1 && index_name.first.respond_to?(:searchkick_index)
+ # klass = index_name.first
+ # end
+ # end
+
+ query = Searchkick::Query.new(klass, term, options.except(:model))
block.call(query.body) if block
if options[:execute] == false
query
else
query.execute
@@ -167,9 +177,11 @@
# Mongoid 3+
records.queryable.for_ids(ids)
elsif records.respond_to?(:unscoped) && :id.respond_to?(:in)
# Nobrainer
records.unscoped.where(:id.in => ids)
+ elsif records.respond_to?(:key_column_names)
+ records.where(records.key_column_names.first => ids)
end
raise Searchkick::Error, "Not sure how to load records" if !records
records