Module: RedisMemo::ThreadLocalVar

Defined in:
lib/redis_memo/thread_local_var.rb

Class Method Summary collapse

Class Method Details

.define(var_name) ⇒ Object

:nodoc:



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/redis_memo/thread_local_var.rb', line 4

def self.define(var_name) # :nodoc:
  thread_key = :"__redis_memo_#{var_name}__"
  const_set(var_name.to_s.upcase, thread_key)

  define_singleton_method var_name do
    Thread.current[thread_key]
  end

  define_singleton_method "#{var_name}=" do |var_val|
    Thread.current[thread_key] = var_val
  end
end