lib/searchkick.rb in searchkick-2.0.3 vs lib/searchkick.rb in searchkick-2.0.4

- old
+ new

@@ -3,10 +3,11 @@ require "hashie" require "searchkick/version" require "searchkick/index_options" require "searchkick/index" require "searchkick/indexer" +require "searchkick/reindex_queue" require "searchkick/results" require "searchkick/query" require "searchkick/model" require "searchkick/tasks" require "searchkick/middleware" @@ -19,10 +20,12 @@ rescue LoadError # do nothing end if defined?(ActiveJob) require "searchkick/bulk_reindex_job" + require "searchkick/process_queue_job" + require "searchkick/process_batch_job" require "searchkick/reindex_v2_job" end module Searchkick class Error < StandardError; end @@ -138,9 +141,28 @@ { completed: batches_left == 0, batches_left: batches_left } end + end + + # private + def self.load_records(records, ids) + records = + if records.respond_to?(:primary_key) + # ActiveRecord + records.where(records.primary_key => ids) if records.primary_key + elsif records.respond_to?(:queryable) + # Mongoid 3+ + records.queryable.for_ids(ids) + elsif records.respond_to?(:unscoped) && :id.respond_to?(:in) + # Nobrainer + records.unscoped.where(:id.in => ids) + end + + raise Searchkick::Error, "Not sure how to load records" if !records + + records end # private def self.indexer Thread.current[:searchkick_indexer] ||= Searchkick::Indexer.new