Sha256: 79781bfa93ebcc8f43fbc6d15809c81d9784a7c79bbfa19fb7a6c7d6db0c26a5
Contents?: true
Size: 997 Bytes
Versions: 10
Compression:
Stored size: 997 Bytes
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/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
10 entries across 10 versions & 1 rubygems