module Mongoid::Association::EagerLoadable
This module defines the eager loading behavior for criteria.
@since 7.0
Public Instance Methods
eager_load(docs)
click to toggle source
# File lib/mongoid/association/eager_loadable.rb, line 18 def eager_load(docs) docs.tap do |d| if eager_loadable? preload(criteria.inclusions, d) end end end
eager_loadable?()
click to toggle source
# File lib/mongoid/association/eager_loadable.rb, line 14 def eager_loadable? !criteria.inclusions.empty? end
preload(relations, docs)
click to toggle source
# File lib/mongoid/association/eager_loadable.rb, line 26 def preload(relations, docs) relations.group_by(&:inverse_class_name) .values .each do |associations| associations.group_by(&:relation) .each do |relation, association| relation.eager_loader(association, docs).run end end end