diff options
author | Yves Senn <yves.senn@gmail.com> | 2016-08-08 12:35:29 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2016-08-08 12:35:29 +0200 |
commit | e9852c92bfa5815c02a33b52f69f12b99578fe29 (patch) | |
tree | 6ba4df4490d8260439637ba12c12822440f1e151 /activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb | |
parent | 628474f2d3330f8a5f14d87153efbed1fcb23e0e (diff) | |
parent | 3529e58efd21697cb5559fe622df8013179625a2 (diff) | |
download | rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.tar.gz rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.tar.bz2 rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.zip |
Merge pull request #25681 from willnet/fix-thread_mattr_accessor
Fix `thread_mattr_accessor` share variable superclass with subclass
Diffstat (limited to 'activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb')
-rw-r--r-- | activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb b/activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb index 1ebae1f4f3..a40f0df9e2 100644 --- a/activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +++ b/activesupport/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb @@ -41,14 +41,14 @@ class Module raise NameError.new("invalid attribute name: #{sym}") unless /^[_A-Za-z]\w*$/.match?(sym) class_eval(<<-EOS, __FILE__, __LINE__ + 1) def self.#{sym} - Thread.current[:"attr_#{name}_#{sym}"] + Thread.current["attr_"+ name + "_#{sym}"] end EOS unless options[:instance_reader] == false || options[:instance_accessor] == false class_eval(<<-EOS, __FILE__, __LINE__ + 1) def #{sym} - Thread.current[:"attr_#{name}_#{sym}"] + Thread.current["attr_"+ self.class.name + "_#{sym}"] end EOS end @@ -80,14 +80,14 @@ class Module raise NameError.new("invalid attribute name: #{sym}") unless /^[_A-Za-z]\w*$/.match?(sym) class_eval(<<-EOS, __FILE__, __LINE__ + 1) def self.#{sym}=(obj) - Thread.current[:"attr_#{name}_#{sym}"] = obj + Thread.current["attr_"+ name + "_#{sym}"] = obj end EOS unless options[:instance_writer] == false || options[:instance_accessor] == false class_eval(<<-EOS, __FILE__, __LINE__ + 1) def #{sym}=(obj) - Thread.current[:"attr_#{name}_#{sym}"] = obj + Thread.current["attr_"+ self.class.name + "_#{sym}"] = obj end EOS end |