aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-05-26 20:00:27 +0200
committerGitHub <noreply@github.com>2017-05-26 20:00:27 +0200
commit24a864437e845febe91e3646ca008e8dc7f76b56 (patch)
tree0bc2430abcaa4834c351cdb8be7b2a9a9b920e16 /activesupport/lib/active_support.rb
parentb404764e15586902597d66aca31c157185b4b3a1 (diff)
downloadrails-24a864437e845febe91e3646ca008e8dc7f76b56.tar.gz
rails-24a864437e845febe91e3646ca008e8dc7f76b56.tar.bz2
rails-24a864437e845febe91e3646ca008e8dc7f76b56.zip
ActiveSupport::CurrentAttributes provides a thread-isolated attributes singleton (#29180)
* Add ActiveSupport::CurrentAttributes to provide a thread-isolated attributes singleton * Need to require first * Move stubs into test namespace. Thus they won't conflict with other Current and Person stubs. * End of the line for you, whitespace! * Support super in attribute methods. Define instance level accessors in an included module such that `super` in an overriden accessor works, akin to Active Model. * Spare users the manual require. Follow the example of concerns, autoload in the top level Active Support file. * Add bidelegation support * Rename #expose to #set. Simpler, clearer * Automatically reset every instance. Skips the need for users to actively embed something that resets their CurrentAttributes instances. * Fix test name; add tangible name value when blank. * Try to ensure we run after a request as well. * Delegate all missing methods to the instance This allows regular `delegate` to serve, so we don't need bidelegate. * Properly test resetting after execution cycle. Also remove the stale puts debugging. * Update documentation to match new autoreset
Diffstat (limited to 'activesupport/lib/active_support.rb')
-rw-r--r--activesupport/lib/active_support.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/activesupport/lib/active_support.rb b/activesupport/lib/active_support.rb
index 03e3ce821a..a667fbb54a 100644
--- a/activesupport/lib/active_support.rb
+++ b/activesupport/lib/active_support.rb
@@ -32,6 +32,7 @@ module ActiveSupport
extend ActiveSupport::Autoload
autoload :Concern
+ autoload :CurrentAttributes
autoload :Dependencies
autoload :DescendantsTracker
autoload :ExecutionWrapper