Sha256: 33ff37b037c792dde9e130a399b75aaa35ebaa6298aec194c6ea78b260cd8b82

Contents?: true

Size: 859 Bytes

Versions: 21

Compression:

Stored size: 859 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
  module SharedStorage

    def self::get(key, default = nil)
      h = Thread.current["SQREEN_SHARED_STORAGE_#{self.object_id}"]
      return h.fetch(key, default) if h
      default
    end

    def self::set(key, obj)
      Thread.current["SQREEN_SHARED_STORAGE_#{self.object_id}"] ||= {}
      Thread.current["SQREEN_SHARED_STORAGE_#{self.object_id}"][key] = obj
    end

    def self.clear
      return unless Thread.current["SQREEN_SHARED_STORAGE_#{self.object_id}"].is_a?(Hash)
      Thread.current["SQREEN_SHARED_STORAGE_#{self.object_id}"].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

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
sqreen-1.11.0-java lib/sqreen/shared_storage.rb
sqreen-alt-1.11.0 lib/sqreen/shared_storage.rb
sqreen-1.11.0 lib/sqreen/shared_storage.rb
sqreen-1.10.5-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.5 lib/sqreen/shared_storage.rb
sqreen-1.10.5 lib/sqreen/shared_storage.rb
sqreen-1.10.4-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.4 lib/sqreen/shared_storage.rb
sqreen-1.10.4 lib/sqreen/shared_storage.rb
sqreen-1.10.3-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.3 lib/sqreen/shared_storage.rb
sqreen-1.10.3 lib/sqreen/shared_storage.rb
sqreen-1.10.2-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.2 lib/sqreen/shared_storage.rb
sqreen-1.10.2 lib/sqreen/shared_storage.rb
sqreen-1.10.1-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.1 lib/sqreen/shared_storage.rb
sqreen-1.10.1 lib/sqreen/shared_storage.rb
sqreen-1.10.0-java lib/sqreen/shared_storage.rb
sqreen-alt-1.10.0 lib/sqreen/shared_storage.rb