Module: ActiveRecord::MTI::ModelSchema::ClassMethods

Defined in:
lib/active_record/mti/model_schema.rb

Instance Method Summary collapse

Instance Method Details

#compute_table_nameObject

Computes and returns a table name according to default conventions.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/active_record/mti/model_schema.rb', line 11

def compute_table_name
  if self != base_class
    # Nested classes are prefixed with singular parent table name.
    if superclass < Base && !superclass.abstract_class?
      contained = superclass.table_name
      contained = contained.singularize if superclass.pluralize_table_names
      contained += '/'
    end

    potential_table_name = "#{full_table_name_prefix}#{contained}#{decorated_table_name(name)}#{full_table_name_suffix}"

    if check_inheritance_of(potential_table_name)
      potential_table_name
    else
      superclass.table_name
    end
  else
    super
  end
end

#full_table_name_suffixObject

:nodoc:



32
33
34
35
36
# File 'lib/active_record/mti/model_schema.rb', line 32

def full_table_name_suffix #:nodoc:
  super
rescue NoMethodError
  full_table_name_rescue(:table_name_suffix)
end