module ActiveSupport::PerThreadRegistry
def self.extended(object)
def self.extended(object) ActiveSupport::Deprecation.warn(<<~MSG) ActiveSupport::PerThreadRegistry is deprecated and will be removed in Rails 7.1. Use `Module#thread_mattr_accessor` instead. MSG object.instance_variable_set :@per_thread_registry_key, object.name.freeze end
def instance
def instance Thread.current[@per_thread_registry_key] ||= new end
def method_missing(name, *args, &block)
def method_missing(name, *args, &block) # Caches the method definition as a singleton method of the receiver. # # By letting #delegate handle it, we avoid an enclosure that'll capture args. singleton_class.delegate name, to: :instance send(name, *args, &block) end