Skip to content

Commit

Permalink
Reset quoted_table_name after set_table_name [#4568 state:resolved]
Browse files Browse the repository at this point in the history
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
  • Loading branch information
spastorino authored and lifo committed May 15, 2010
1 parent fa99de0 commit 47c9a35
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion activerecord/lib/active_record/base.rb
Expand Up @@ -668,7 +668,6 @@ def reset_table_name #:nodoc:
name = "#{full_table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}"
end

@quoted_table_name = nil
set_table_name(name)
name
end
Expand Down Expand Up @@ -702,6 +701,7 @@ def reset_sequence_name #:nodoc:
# set_table_name "project"
# end
def set_table_name(value = nil, &block)
@quoted_table_name = nil
define_attr_method :table_name, value, &block
end
alias :table_name= :set_table_name
Expand Down
12 changes: 12 additions & 0 deletions activerecord/test/cases/base_test.rb
Expand Up @@ -1793,6 +1793,18 @@ def test_set_table_name_with_value
assert_equal "bar", k.table_name
end

def test_quoted_table_name_after_set_table_name
klass = Class.new(ActiveRecord::Base)

klass.set_table_name "foo"
assert_equal "foo", klass.table_name
assert_equal klass.connection.quote_table_name("foo"), klass.quoted_table_name

klass.set_table_name "bar"
assert_equal "bar", klass.table_name
assert_equal klass.connection.quote_table_name("bar"), klass.quoted_table_name
end

def test_set_table_name_with_block
k = Class.new( ActiveRecord::Base )
k.set_table_name { "ks" }
Expand Down

0 comments on commit 47c9a35

Please sign in to comment.