Sha256: 3c53838ac624a4f60ec5bb800fa1a9b2a6dc9d1ba86431fcdd2c748b1854f198
Contents?: true
Size: 910 Bytes
Versions: 1
Compression:
Stored size: 910 Bytes
Contents
module ActiveRecord module Reflection class AbstractReflection def join_scope(table, foreign_table, foreign_klass) predicate_builder = predicate_builder(table) scope_chain_items = join_scopes(table, predicate_builder) klass_scope = klass_join_scope(table, predicate_builder) key = join_keys.key foreign_key = join_keys.foreign_key # CPK #klass_scope.where!(table[key].eq(foreign_table[foreign_key])) constraint = cpk_join_predicate(table, key, foreign_table, foreign_key) klass_scope.where!(constraint) if type klass_scope.where!(type => foreign_klass.polymorphic_name) end if klass.finder_needs_type_condition? klass_scope.where!(klass.send(:type_condition, table)) end scope_chain_items.inject(klass_scope, &:merge!) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
composite_primary_keys-12.0.10 | lib/composite_primary_keys/reflection.rb |