Class: ActiveRecord::Associations::Builder::HasAndBelongsToMany::JoinTableResolver::KnownClass

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/associations/builder/has_and_belongs_to_many.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(lhs_class, rhs_class_name) ⇒ KnownClass

Returns a new instance of KnownClass.


9
10
11
12
13
# File 'lib/active_record/associations/builder/has_and_belongs_to_many.rb', line 9

def initialize(lhs_class, rhs_class_name)
  @lhs_class      = lhs_class
  @rhs_class_name = rhs_class_name
  @join_table     = nil
end

Instance Method Details

#join_tableObject


15
16
17
# File 'lib/active_record/associations/builder/has_and_belongs_to_many.rb', line 15

def join_table
  @join_table ||= [@lhs_class.table_name, klass.table_name].sort.join("\0").gsub(/^(.*[._])(.+)\0\1(.+)/, '\1\2_\3').tr("\0", "_")
end