method

last_scope_chain

Importance_0
v7.1.3.2 - Show latest stable - 0 notes - Class: DisableJoinsAssociationScope
last_scope_chain(reverse_chain, owner) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/associations/disable_joins_association_scope.rb, line 18
        def last_scope_chain(reverse_chain, owner)
          first_item = reverse_chain.shift
          first_scope = [first_item, false, [owner._read_attribute(first_item.join_foreign_key)]]

          reverse_chain.inject(first_scope) do |(reflection, ordered, join_ids), next_reflection|
            key = reflection.join_primary_key
            records = add_constraints(reflection, key, join_ids, owner, ordered)
            foreign_key = next_reflection.join_foreign_key
            record_ids = records.pluck(foreign_key)
            records_ordered = records && records.order_values.any?

            [next_reflection, records_ordered, record_ids]
          end
        end
Register or log in to add new notes.