Module: ZeevexThreadsafe::ThreadLocals

Defined in:
lib/zeevex_threadsafe/thread_locals.rb

Overview

Usage:

class Foo
  include ThreadLocals
  thread_local :instance_var_name, :instance_var_name2 # , ...
  cthread_local :class_var_name, :class_var_name2 # , ...
end

Foo.class_var_name = "thread specific value on class"
Foo.new.instance_var_name = "thread specific value on instance"

A hash of options which may be passed in to control the visibility (public, private, protected) and default value of the variable.

class Foo
    thread_local :example, :visibility => :protected, :default => 42
end
obj = Foo.new
obj.example => 42
obj.example = "non-default value"
obj.example  #  => "non-default-value"

Defined Under Namespace

Modules: ClassMethods, InstanceMethods, UtilityMethods

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



25
26
27
28
# File 'lib/zeevex_threadsafe/thread_locals.rb', line 25

def self.included(klass)
  klass.extend ClassMethods
  klass.send :include, InstanceMethods
end