Class: Observers::Keys

Inherits:
Object
  • Object
show all
Defined in:
lib/keys.rb

Defined Under Namespace

Classes: MissingKeyError

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



20
21
22
# File 'lib/keys.rb', line 20

def [](key)
  keys[key] || upsert(key:)
end

.fetch(key) ⇒ Object



15
16
17
18
# File 'lib/keys.rb', line 15

def fetch(key)
  # TODO: Log instead per configuration, much better to fail silently sometimes!
  keys[key] || raise(MissingKeyError, "Key key '#{key}' not found")
end

.keysObject



10
11
12
13
# File 'lib/keys.rb', line 10

def keys
  @keys ||= {}
  @keys
end

.resetObject



29
30
31
# File 'lib/keys.rb', line 29

def reset
  @keys = {}
end

.upsert(key:) ⇒ Object



24
25
26
27
# File 'lib/keys.rb', line 24

def upsert(key:)
  keys[key] = Key.new if keys[key].nil?
  keys[key]
end