Sha256: f54bdc345d96524ac8fc694301e9089e0d8bc32bdf2fbd0a56a27195b67934d3

Contents?: true

Size: 939 Bytes

Versions: 14

Compression:

Stored size: 939 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

14 entries across 14 versions & 1 rubygems

Version Path
composite_primary_keys-12.0.9 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.8 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.6 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.5 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.4 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.3 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.2 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.1 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0.rc5 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0.rc4 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0.rc3 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0.rc2 lib/composite_primary_keys/reflection.rb
composite_primary_keys-12.0.0.rc1 lib/composite_primary_keys/reflection.rb