Class: Rdm::Settings
- Inherits:
-
Object
- Object
- Rdm::Settings
- Defined in:
- lib/rdm/settings.rb
Constant Summary collapse
- SETTING_KEYS =
[ :role, :package_subdir_name, :configs_dir, :config_path, :role_config_path, :silence_missing_package_file, :silence_missing_package ].freeze
- SETTING_VARIABLES =
[:role, :configs_dir, :config_path, :role_config_path].freeze
Instance Method Summary collapse
- #fetch_setting(key, value = nil, &block) ⇒ Object
-
#initialize ⇒ Settings
constructor
Default settings.
- #read_setting(key, vars: {}) ⇒ Object
Constructor Details
#initialize ⇒ Settings
Default settings
10 11 12 13 14 15 |
# File 'lib/rdm/settings.rb', line 10 def initialize silence_missing_package(false) silence_missing_package_file(false) package_subdir_name('package') configs_dir('configs') end |
Instance Method Details
#fetch_setting(key, value = nil, &block) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/rdm/settings.rb', line 23 def fetch_setting(key, value = nil, &block) if value.nil? && !block_given? read_setting(key) else write_setting(key, value || block) end end |
#read_setting(key, vars: {}) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rdm/settings.rb', line 31 def read_setting(key, vars: {}) value = @settings[key.to_s] if value.is_a?(Proc) value.call elsif value.is_a?(String) replace_variables(value, except: key, additional_vars: vars) else value end end |