Commit 9703312f8abe09fc47dd1e4b23c5ceaac9ac3105
1 parent
c482dbf5
Exists in
master
and in
21 other branches
Update eager_loading logic to match nobrainer >v0.20
The commit (https://github.com/nviennot/nobrainer/commit/d9f27b002e151cda141220e4111570acb2c35e45) changed the name of preload to eager_load and preload is now deprecated. This change will use the newer versions for projects using the newer version.
Showing
1 changed file
with
6 additions
and
2 deletions
Show diff stats
lib/searchkick/results.rb
@@ -181,7 +181,11 @@ module Searchkick | @@ -181,7 +181,11 @@ module Searchkick | ||
181 | if options[:includes] | 181 | if options[:includes] |
182 | records = | 182 | records = |
183 | if defined?(NoBrainer::Document) && records < NoBrainer::Document | 183 | if defined?(NoBrainer::Document) && records < NoBrainer::Document |
184 | - records.preload(options[:includes]) | 184 | + if Gem.loaded_specs["nobrainer"].version >= Gem::Version.new("0.21") |
185 | + records.eager_load(options[:includes]) | ||
186 | + else | ||
187 | + records.preload(options[:includes]) | ||
188 | + end | ||
185 | else | 189 | else |
186 | records.includes(options[:includes]) | 190 | records.includes(options[:includes]) |
187 | end | 191 | end |
@@ -196,7 +200,7 @@ module Searchkick | @@ -196,7 +200,7 @@ module Searchkick | ||
196 | elsif records.respond_to?(:queryable) | 200 | elsif records.respond_to?(:queryable) |
197 | # Mongoid 3+ | 201 | # Mongoid 3+ |
198 | records.queryable.for_ids(ids) | 202 | records.queryable.for_ids(ids) |
199 | - elsif records.respond_to?(:unscoped) && records.all.respond_to?(:preload) | 203 | + elsif records.respond_to?(:unscoped) && [:preload, :eager_load].any? { |m| records.all.respond_to?(m) } |
200 | # Nobrainer | 204 | # Nobrainer |
201 | records.unscoped.where(:id.in => ids) | 205 | records.unscoped.where(:id.in => ids) |
202 | else | 206 | else |