Module: Thoom::Config
- Included in:
- HashConfig, YamlConfig
- Defined in:
- lib/config.rb
Instance Method Summary collapse
- #config_set(config) ⇒ Object
- #env=(val) ⇒ Object
- #get(key, default_val = nil) ⇒ Object
- #print ⇒ Object
- #set(key, val, env = :default) ⇒ Object
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 |
#print ⇒ Object
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 |