aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorAkira Matsuda <ronnie@dio.jp>2011-08-24 21:09:41 +0900
committerAkira Matsuda <ronnie@dio.jp>2011-08-24 21:11:15 +0900
commit0a0da9d554490f01fe57d69fe8d98f29b02be3e5 (patch)
treeba6665551073081446d2a25fe6bf9a589baa0652 /activerecord
parenteb0b71478ad4c37fdc4ec77bf2cf7c6b65dd36c4 (diff)
downloadrails-0a0da9d554490f01fe57d69fe8d98f29b02be3e5.tar.gz
rails-0a0da9d554490f01fe57d69fe8d98f29b02be3e5.tar.bz2
rails-0a0da9d554490f01fe57d69fe8d98f29b02be3e5.zip
do not compute table names for abstract classes
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/base.rb2
-rw-r--r--activerecord/test/cases/base_test.rb4
2 files changed, 6 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index c76f98d6a0..03aea81d2c 100644
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -624,6 +624,8 @@ module ActiveRecord #:nodoc:
# Computes the table name, (re)sets it internally, and returns it.
def reset_table_name #:nodoc:
+ return if abstract_class?
+
self.table_name = compute_table_name
end
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index fe46c00b47..bee183cc67 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -1625,6 +1625,10 @@ class BasicsTest < ActiveRecord::TestCase
assert !LooseDescendant.abstract_class?
end
+ def test_abstract_class_table_name
+ assert_nil AbstractCompany.table_name
+ end
+
def test_base_class
assert_equal LoosePerson, LoosePerson.base_class
assert_equal LooseDescendant, LooseDescendant.base_class