Module: Thoom::Config

Included in:
HashConfig, YamlConfig
Defined in:
lib/config.rb

Instance Method Summary collapse

Instance Method Details

#config_set(config) ⇒ Object



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

def config_set(config)
  @config = config.deep_symbolize_keys
end

#env=(val) ⇒ Object



33
34
35
# File 'lib/config.rb', line 33

def env=(val)
  @env = val.to_sym
end

#get(key, default_val = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/config.rb', line 18

def get(key, default_val = nil)
  key = key.to_sym
  if @config.key?(@env) && @config[@env].key?(key)
    @config[@env][key]
  elsif @config.key?(:default) && @config[:default].key?(key)
    @config[:default][key]
  elsif @config.key? key
    @config[key]
  elsif !default_val.nil?
    default_val
  else
    raise ConfigError, "Missing required configuration entry for #{key}"
  end
end


45
46
47
# File 'lib/config.rb', line 45

def print
  @config.to_s
end

#set(key, val, env = :default) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/config.rb', line 37

def set(key, val, env = :default)
  env = env.to_sym
  key = key.to_sym

  @config[env] = {} unless @config.key? env
  @config[env][key] = val
end