Sha256: 5f5883cfcb4bbeff6aebf27c5d513ae360eadd6a9ce2679f913b8e7ae7b9c903

Contents?: true

Size: 694 Bytes

Versions: 4

Compression:

Stored size: 694 Bytes

Contents

require "request_store/version"
require "request_store/middleware"
require "request_store/railtie" if defined?(Rails::Railtie)

module RequestStore
  def self.store
    Thread.current[:request_store] ||= {}
  end

  def self.clear!
    Thread.current[:request_store] = {}
  end

  def self.read(key)
    store[key]
  end

  def self.[](key)
    store[key]
  end

  def self.write(key, value)
    store[key] = value
  end

  def self.[]=(key, value)
    store[key] = value
  end

  def self.exist?(key)
    store.key?(key)
  end

  def self.fetch(key, &block)
    store[key] = yield unless exist?(key)
    store[key]
  end

  def self.delete(key, &block)
    store.delete(key, &block)
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
request_store-1.2.1 lib/request_store.rb
sc_core-0.0.7 test/dummy/vendor/bundle/ruby/2.2.0/gems/request_store-1.2.0/lib/request_store.rb
request_store-1.2.0 lib/request_store.rb
request_store-1.1.0 lib/request_store.rb