Class: Aho::Configuration
- Inherits:
-
Object
- Object
- Aho::Configuration
- Defined in:
- lib/aho/configuration.rb
Constant Summary collapse
- DEFAULT_CONFIG_FILE_PATH =
File.('../../config/default.aho.yml', __dir__)
- CONFIG_FILE_PATH =
File.('../../config/aho.yml', __dir__)
Instance Attribute Summary collapse
-
#settings ⇒ Object
readonly
Returns the value of attribute settings.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #reset ⇒ Object
- #update(new_settings) ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
10 11 12 13 14 15 |
# File 'lib/aho/configuration.rb', line 10 def initialize reset unless File.exist?(CONFIG_FILE_PATH) raw_settings = YAML.load_file(CONFIG_FILE_PATH) rich_settings = process_env_variables(raw_settings) @settings = DotHash.new(rich_settings) end |
Instance Attribute Details
#settings ⇒ Object (readonly)
Returns the value of attribute settings.
8 9 10 |
# File 'lib/aho/configuration.rb', line 8 def settings @settings end |
Instance Method Details
#reset ⇒ Object
22 23 24 25 |
# File 'lib/aho/configuration.rb', line 22 def reset File.write(CONFIG_FILE_PATH, File.read(DEFAULT_CONFIG_FILE_PATH)) @settings = DotHash.new(default_settings) end |
#update(new_settings) ⇒ Object
17 18 19 20 |
# File 'lib/aho/configuration.rb', line 17 def update(new_settings) @settings.deep_merge!(new_settings.stringify_keys.slice(*default_settings.keys)) File.write(CONFIG_FILE_PATH, @settings.to_h.to_yaml) end |