Sha256: 2c2d5c5efe19c2412eb496a8bc8499ecac9b0568a1468c62d02bba531449acaa
Contents?: true
Size: 979 Bytes
Versions: 68
Compression:
Stored size: 979 Bytes
Contents
# Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.io/terms.html module Sqreen # dedicated local storage module SharedStorage unless RUBY_VERSION >= '2.3.0' def self.get(key) h = Thread.current[:sqreen_shared_storage] h[key] if h end end def self.set(key, obj) Thread.current[:sqreen_shared_storage] ||= {} Thread.current[:sqreen_shared_storage][key] = obj end def self.clear return unless Thread.current[:sqreen_shared_storage].is_a?(Hash) Thread.current[:sqreen_shared_storage].clear end def self.inc(value) set(value, (get(value) || 0) + 1) end def self.dec(value) set(value, (get(value) || 0) - 1) end end end # Change SharedStorage.get if ruby is actually newer require 'sqreen/shared_storage23' if RUBY_VERSION >= '2.3.0' class << Sqreen::SharedStorage alias [] get alias []= set end
Version data entries
68 entries across 68 versions & 2 rubygems