Module: FiberStore

Defined in:
lib/fiber_store.rb,
lib/fiber_store/railtie.rb,
lib/fiber_store/version.rb,
lib/fiber_store/middleware.rb

Defined Under Namespace

Classes: Middleware, Railtie

Constant Summary collapse

VERSION =
'0.0.3'

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



13
14
15
# File 'lib/fiber_store.rb', line 13

def [](key)
  store[key]
end

.[]=(key, value) ⇒ Object



27
28
29
# File 'lib/fiber_store.rb', line 27

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

.clear!Object



31
32
33
# File 'lib/fiber_store.rb', line 31

def clear!
  Fiber[:fiber_store] = {}
end

.fetch(key, default = :__undefined__) ⇒ Object

Raises:

  • (KeyError)


17
18
19
20
21
22
23
24
25
# File 'lib/fiber_store.rb', line 17

def fetch(key, default = :__undefined__)
  warn 'warning: block supersedes default value argument' if block_given? && default != :__undefined__

  return store[key] if store[key]
  return yield if block_given?
  return default unless default == :__undefined__

  raise KeyError, "key not found: #{key.inspect}"
end

.storeObject



9
10
11
# File 'lib/fiber_store.rb', line 9

def store
  Fiber[:fiber_store] ||= {}
end