Sha256: a53de2af2b10e75decb4dcf43f721cc8856e2d1abaff4666d771e4556a6a1049
Contents?: true
Size: 1.5 KB
Versions: 19
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true module Torque module PostgreSQL module Reflection class BelongsToManyReflection < ::ActiveRecord::Reflection::AssociationReflection def macro :belongs_to_many end def connected_through_array? true end def belongs_to? true end def collection? true end def association_class Associations::BelongsToManyAssociation end def foreign_key @foreign_key ||= options[:foreign_key] || derive_foreign_key.freeze end def association_foreign_key @association_foreign_key ||= foreign_key end def active_record_primary_key @active_record_primary_key ||= options[:primary_key] || derive_primary_key end def join_primary_key(*) active_record_primary_key end def join_foreign_key foreign_key end private def derive_primary_key klass.primary_key end def derive_foreign_key "#{name.to_s.singularize}_ids" end end ::ActiveRecord::Reflection.const_set(:BelongsToManyReflection, BelongsToManyReflection) reflection_class = ::ActiveRecord::Reflection::AssociationReflection reflection_class::VALID_AUTOMATIC_INVERSE_MACROS.push(:belongs_to_many) \ if reflection_class.const_defined?('VALID_AUTOMATIC_INVERSE_MACROS') end end end
Version data entries
19 entries across 19 versions & 1 rubygems