aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorSergey Nartimov <just.lest@gmail.com>2012-01-26 10:12:12 +0300
committerSergey Nartimov <just.lest@gmail.com>2012-01-26 10:12:12 +0300
commitdb48ee38471b95cca883217f671d271b6119afc8 (patch)
tree1c436c77688db1cafff72e38b9e81305d556106a /activerecord
parentba5a334acd9bfbbdb454075ff0f335267adb6fd0 (diff)
downloadrails-db48ee38471b95cca883217f671d271b6119afc8.tar.gz
rails-db48ee38471b95cca883217f671d271b6119afc8.tar.bz2
rails-db48ee38471b95cca883217f671d271b6119afc8.zip
call to_s on value passed to table_name=
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/model_schema.rb2
-rw-r--r--activerecord/test/cases/base_test.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/model_schema.rb b/activerecord/lib/active_record/model_schema.rb
index 261f6fa974..61f82af0c3 100644
--- a/activerecord/lib/active_record/model_schema.rb
+++ b/activerecord/lib/active_record/model_schema.rb
@@ -115,7 +115,7 @@ module ActiveRecord
# the documentation for ActiveRecord::Base#table_name.
def table_name=(value)
@original_table_name = @table_name if defined?(@table_name)
- @table_name = value
+ @table_name = value && value.to_s
@quoted_table_name = nil
@arel_table = nil
@relation = Relation.new(self, arel_table)
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 0ea1b824e1..59d786622e 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -1446,6 +1446,11 @@ class BasicsTest < ActiveRecord::TestCase
end
end
+ def test_set_table_name_symbol_converted_to_string
+ Joke.table_name = :cold_jokes
+ assert_equal 'cold_jokes', Joke.table_name
+ end
+
def test_quoted_table_name_after_set_table_name
klass = Class.new(ActiveRecord::Base)