module Tablesalt::ThreadAccessor

Constants

THREAD_ACCESSOR_STORE_NAMESPACE

nil by default, gets overridden by ScopedAccessor

THREAD_ACCESSOR_STORE_THREAD_KEY

Public Class Methods

[](scope) click to toggle source

@example

module MyGem
  class MyClass
    include Tablesalt::ThreadAccessor[:my_gem]

    # Stored in a separate thread store for :my_gem, safe from mischievous app developers
    thread_accessor :foo, :my_foo
  end
end

@param scope [String, Symbol] A namespace for the thread variables @return [Module] A ThreadAccessor module to be included into your class

# File lib/tablesalt/thread_accessor.rb, line 38
def [](scope)
  @scoped_accessors ||= {}
  @scoped_accessors[scope] ||= ScopedAccessor.new(scope)
end