method
through_scope
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::Associations::Preloader::ThroughAssociation
through_scope()private
No documentation available.
# File activerecord/lib/active_record/associations/preloader/through_association.rb, line 83
def through_scope
scope = through_reflection.klass.unscoped
if options[:source_type]
scope.where! reflection.foreign_type => options[:source_type]
else
unless reflection_scope.where_clause.empty?
scope.includes_values = Array(reflection_scope.values[:includes] || options[:source])
scope.where_clause = reflection_scope.where_clause
end
scope.references! reflection_scope.values[:references]
if scope.eager_loading? && order_values = reflection_scope.values[:order]
scope = scope.order(order_values)
end
end
scope
end