Module: ActiveRecord::MTI::Inheritance::ClassMethods
- Defined in:
- lib/active_record/mti/inheritance.rb
Instance Method Summary collapse
- #has_tableoid_column? ⇒ Boolean
- #inherited(subclass) ⇒ Object
- #uses_mti(*args) ⇒ Object
- #using_multi_table_inheritance? ⇒ Boolean
Instance Method Details
#has_tableoid_column? ⇒ Boolean
15 16 17 |
# File 'lib/active_record/mti/inheritance.rb', line 15 def has_tableoid_column? tableoid_column != false end |
#inherited(subclass) ⇒ Object
19 20 21 22 |
# File 'lib/active_record/mti/inheritance.rb', line 19 def inherited(subclass) super subclass.using_multi_table_inheritance? end |
#uses_mti(*args) ⇒ Object
24 25 26 |
# File 'lib/active_record/mti/inheritance.rb', line 24 def uses_mti(*args) warn "DEPRECATED - `uses_mti` is no longer needed (nor has any effect)" end |
#using_multi_table_inheritance? ⇒ Boolean
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/active_record/mti/inheritance.rb', line 28 def using_multi_table_inheritance? mti = ActiveRecord::MTI::Registry.tableoid?(self) return (mti != false) unless mti == nil if (mti = check_inheritance_of(@table_name)) if (self != base_class && self.table_name == base_class.table_name) mti = false else mti = detect_tableoid(table_name) end end ActiveRecord::MTI::Registry[self] = mti descendants.each do |d| d.using_multi_table_inheritance? end return mti && mti != false end |