method

through_scope

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