aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb
diff options
context:
space:
mode:
authorMichael Ryan <perceptec@gmail.com>2016-03-10 12:13:45 -0500
committerMichael Ryan <perceptec@gmail.com>2016-03-11 06:54:00 -0500
commit4f2c25d39d264aca09a000a1c44be0f1937203fa (patch)
tree245bd606b0cd26b573acbea5fe23e74167b3f911 /activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb
parenta101115d5b8011278891f30f69901f9583ea7685 (diff)
downloadrails-4f2c25d39d264aca09a000a1c44be0f1937203fa.tar.gz
rails-4f2c25d39d264aca09a000a1c44be0f1937203fa.tar.bz2
rails-4f2c25d39d264aca09a000a1c44be0f1937203fa.zip
Fix `thread_mattr_accessor` thread-local variable naming
The current implentation of `thread_mattr_accessor` is setting differently-named thread variables when defining class and instance writer methods, so the method isn't working as documented: Account.user = "DHH" Account.user # => "DHH" Account.new.user # => nil a = Account.new a.user = "ABC" # => "ABC" a.class.user # => "DHH" At this point `:attr_Account_user` and `:attr_Class_user` thread-local variables have been created. Modify the reader and writer methods to use the class name instead of 'Class'.
Diffstat (limited to 'activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb')
-rw-r--r--activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb b/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb
index 65fadc5c20..a9fd878b80 100644
--- a/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb
+++ b/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb
@@ -106,4 +106,10 @@ class ModuleAttributeAccessorPerThreadTest < ActiveSupport::TestCase
end
assert_equal "invalid attribute name: 2valid_part", exception.message
end
+
+ def test_should_return_same_value_by_class_or_instance_accessor
+ @class.foo = 'fries'
+
+ assert_equal @class.foo, @object.foo
+ end
end