Class: Ufo::Setting
- Inherits:
-
Object
- Object
- Ufo::Setting
- Extended by:
- Memoist
- Defined in:
- lib/ufo/setting.rb,
lib/ufo/setting/profile.rb
Defined Under Namespace
Classes: Profile
Instance Method Summary collapse
-
#data ⇒ Object
data contains the settings.yml config.
-
#initialize(check_ufo_project = true) ⇒ Setting
constructor
A new instance of Setting.
Constructor Details
#initialize(check_ufo_project = true) ⇒ Setting
Returns a new instance of Setting.
8 9 10 |
# File 'lib/ufo/setting.rb', line 8 def initialize(check_ufo_project=true) @check_ufo_project = check_ufo_project end |
Instance Method Details
#data ⇒ Object
data contains the settings.yml config. The order or precedence for settings is the project ufo/settings.yml and then the ~/.ufo/settings.yml.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ufo/setting.rb', line 14 def data if @check_ufo_project && !File.exist?(project_settings_path) Ufo.check_ufo_project! end # project based settings files project = load_file(project_settings_path) user_file = "#{ENV['HOME']}/.ufo/settings.yml" user = File.exist?(user_file) ? YAML.load_file(user_file) : {} default_file = File.("../default/settings.yml", __FILE__) default = load_file(default_file) all_envs = default.deep_merge(user.deep_merge(project)) all_envs = merge_base(all_envs) data = all_envs[Ufo.env] || all_envs["base"] || {} data.deep_symbolize_keys end |