Class: Aardi::Config

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

Constant Summary collapse

RAISE_ON_MISS =
->(_, key) { raise KeyError, "Key not found: #{key.inspect}" }

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



10
# File 'lib/aardi/config.rb', line 10

def [](key) = @data[key]

.fetch(key, default = nil) ⇒ Object



11
# File 'lib/aardi/config.rb', line 11

def fetch(key, default = nil) = @data.fetch(key, default)

.load(path) ⇒ Object



12
# File 'lib/aardi/config.rb', line 12

def load(path) = prepare(File.read(path))

.prepare(config_yaml) ⇒ Object



14
15
16
17
18
# File 'lib/aardi/config.rb', line 14

def prepare(config_yaml)
  @data.merge!(YAML.safe_load(config_yaml).transform_keys(&:to_sym))
  @data.freeze
  self
end

.resetObject



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

def reset
  @data = Hash.new(&RAISE_ON_MISS)
end