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