diff options
author | Guillermo Iguaran <guilleiguaran@gmail.com> | 2011-05-20 01:44:13 -0500 |
---|---|---|
committer | Guillermo Iguaran <guilleiguaran@gmail.com> | 2011-05-20 01:44:13 -0500 |
commit | 6a3b3fba5a173dc8cd308c30426247e93e5fc97e (patch) | |
tree | 20f8eedd0d2eec4df0a1c85bfff4af801bad8052 | |
parent | 54823fe6b93d75a90cd627e3852669b5721fdd1f (diff) | |
download | rails-6a3b3fba5a173dc8cd308c30426247e93e5fc97e.tar.gz rails-6a3b3fba5a173dc8cd308c30426247e93e5fc97e.tar.bz2 rails-6a3b3fba5a173dc8cd308c30426247e93e5fc97e.zip |
Allow pluralize_table_names for individual model
-rw-r--r-- | activerecord/lib/active_record/base.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/base_test.rb | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index cd16b8d3ca..1ece79adc0 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -393,8 +393,8 @@ module ActiveRecord #:nodoc: # Indicates whether table names should be the pluralized versions of the corresponding class names. # If true, the default table name for a Product class will be +products+. If false, it would just be +product+. # See table_name for the full rules on table/class naming. This is true, by default. - cattr_accessor :pluralize_table_names, :instance_writer => false - @@pluralize_table_names = true + class_attribute :pluralize_table_names, :instance_writer => false + self.pluralize_table_names = true ## # :singleton-method: diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index bfb66f07da..87ce537e0e 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -367,6 +367,15 @@ class BasicsTest < ActiveRecord::TestCase GUESSED_CLASSES.each(&:reset_table_name) end + def test_singular_table_name_guesses_for_individual_table + CreditCard.pluralize_table_names = false + CreditCard.reset_table_name + assert_equal "credit_card", CreditCard.table_name + assert_equal "categories", Category.table_name + ensure + CreditCard.pluralize_table_names = true + CreditCard.reset_table_name + end if current_adapter?(:MysqlAdapter) or current_adapter?(:Mysql2Adapter) def test_update_all_with_order_and_limit |