From 693d654da7737c96a44bcb2a7cc4cae2116b514f Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Fri, 14 May 2010 19:53:30 -0300 Subject: [PATCH] reset quoted_table_name after set_table_name [#4568 state:committed] --- activerecord/lib/active_record/base.rb | 1 + activerecord/test/cases/base_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 650a91b..466793d 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -703,6 +703,7 @@ module ActiveRecord #:nodoc: # end def set_table_name(value = nil, &block) define_attr_method :table_name, value, &block + @quoted_table_name = connection.quote_table_name(table_name) end alias :table_name= :set_table_name diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index bbc4e54..687a8f2 100755 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1793,6 +1793,17 @@ class BasicsTest < ActiveRecord::TestCase assert_equal "bar", k.table_name end + def test_quoted_table_name_after_set_table_name + k = Class.new( ActiveRecord::Base ) + k.set_table_name "foo" + assert_equal "foo", k.table_name + assert_equal '"foo"', k.quoted_table_name + + k.set_table_name "bar" + assert_equal "bar", k.table_name + assert_equal '"bar"', k.quoted_table_name + end + def test_set_table_name_with_block k = Class.new( ActiveRecord::Base ) k.set_table_name { "ks" } -- 1.7.1