diff options
author | willnet <netwillnet@gmail.com> | 2016-07-04 18:17:20 +0900 |
---|---|---|
committer | willnet <netwillnet@gmail.com> | 2016-08-04 10:11:06 +0900 |
commit | 3529e58efd21697cb5559fe622df8013179625a2 (patch) | |
tree | 600c752143d384b0eef3a534959af5bd6f222efe /activesupport/lib/active_support/array_inquirer.rb | |
parent | 5b469da6ec482414c5f59762ae8e82de7e07c365 (diff) | |
download | rails-3529e58efd21697cb5559fe622df8013179625a2.tar.gz rails-3529e58efd21697cb5559fe622df8013179625a2.tar.bz2 rails-3529e58efd21697cb5559fe622df8013179625a2.zip |
Fix `thread_mattr_accessor` share variable superclass with subclass
The current implementation of `thread_mattr_accessor` set variable
sharing superclass with subclass. So the method doesn't work as documented.
Precondition
class Account
thread_mattr_accessor :user
end
class Customer < Account
end
Account.user = "DHH"
Account.user #=> "DHH"
Customer.user = "Rafael"
Customer.user # => "Rafael"
Documented behavior
Account.user # => "DHH"
Actual behavior
Account.user # => "Rafael"
Current implementation set variable statically likes `Thread[:attr_Account_user]`,
and customer also use it.
Make variable name dynamic to use own thread-local variable.
Diffstat (limited to 'activesupport/lib/active_support/array_inquirer.rb')
0 files changed, 0 insertions, 0 deletions