Module: Sqreen::SharedStorage

Defined in:
lib/sqreen/shared_storage.rb,
lib/sqreen/shared_storage23.rb

Overview

dedicated local storage

Class Method Summary collapse

Class Method Details

.[]Object



40
41
42
43
# File 'lib/sqreen/shared_storage.rb', line 40

def self.get(key)
  h = Thread.current[:sqreen_shared_storage]
  h[key] if h
end

.clearObject



21
22
23
24
# File 'lib/sqreen/shared_storage.rb', line 21

def self.clear
  return unless Thread.current[:sqreen_shared_storage].is_a?(Hash)
  Thread.current[:sqreen_shared_storage].clear
end

.dec(value) ⇒ Object



30
31
32
# File 'lib/sqreen/shared_storage.rb', line 30

def self.dec(value)
  set(value, (get(value) || 0) - 1)
end

.get(key) ⇒ Object



10
11
12
13
# File 'lib/sqreen/shared_storage.rb', line 10

def self.get(key)
  h = Thread.current[:sqreen_shared_storage]
  h[key] if h
end

.inc(value) ⇒ Object



26
27
28
# File 'lib/sqreen/shared_storage.rb', line 26

def self.inc(value)
  set(value, (get(value) || 0) + 1)
end

.set(key, obj) ⇒ Object Also known as: []=



16
17
18
19
# File 'lib/sqreen/shared_storage.rb', line 16

def self.set(key, obj)
  Thread.current[:sqreen_shared_storage] ||= {}
  Thread.current[:sqreen_shared_storage][key] = obj
end