From 9703312f8abe09fc47dd1e4b23c5ceaac9ac3105 Mon Sep 17 00:00:00 2001 From: Jeroen Visser Date: Tue, 29 Nov 2016 14:05:57 +0100 Subject: [PATCH] Update eager_loading logic to match nobrainer >v0.20 --- lib/searchkick/results.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/searchkick/results.rb b/lib/searchkick/results.rb index 135cfb6..1ca2a49 100644 --- a/lib/searchkick/results.rb +++ b/lib/searchkick/results.rb @@ -181,7 +181,11 @@ module Searchkick if options[:includes] records = if defined?(NoBrainer::Document) && records < NoBrainer::Document - records.preload(options[:includes]) + if Gem.loaded_specs["nobrainer"].version >= Gem::Version.new("0.21") + records.eager_load(options[:includes]) + else + records.preload(options[:includes]) + end else records.includes(options[:includes]) end @@ -196,7 +200,7 @@ module Searchkick elsif records.respond_to?(:queryable) # Mongoid 3+ records.queryable.for_ids(ids) - elsif records.respond_to?(:unscoped) && records.all.respond_to?(:preload) + elsif records.respond_to?(:unscoped) && [:preload, :eager_load].any? { |m| records.all.respond_to?(m) } # Nobrainer records.unscoped.where(:id.in => ids) else -- libgit2 0.21.0