method
last_chain_scope
rails latest stable - Class:
ActiveRecord::Associations::AssociationScope
last_chain_scope(scope, reflection, owner)private
No documentation available.
# File activerecord/lib/active_record/associations/association_scope.rb, line 58
def last_chain_scope(scope, reflection, owner)
primary_key = Array(reflection.join_primary_key)
foreign_key = Array(reflection.join_foreign_key)
table = reflection.aliased_table
primary_key_foreign_key_pairs = primary_key.zip(foreign_key)
primary_key_foreign_key_pairs.each do |join_key, foreign_key|
value = transform_value(owner._read_attribute(foreign_key))
scope = apply_scope(scope, table, join_key, value)
end
if reflection.type
polymorphic_type = transform_value(owner.class.polymorphic_name)
scope = apply_scope(scope, table, reflection.type, polymorphic_type)
end
scope
end