Module: Sqreen::SharedStorage
- Defined in:
- lib/sqreen/shared_storage.rb,
lib/sqreen/shared_storage23.rb
Overview
dedicated local storage
Class Method Summary collapse
- .[] ⇒ Object
- .clear ⇒ Object
- .dec(value) ⇒ Object
- .get(key) ⇒ Object
- .inc(value) ⇒ Object
- .set(key, obj) ⇒ Object (also: []=)
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 |
.clear ⇒ Object
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 |