Method: Ufo::Setting#data

Defined in:
lib/ufo/setting.rb

#dataObject

data contains the settings.yml config. The order or precedence for settings is the project ufo/settings.yml and then the ~/.ufo/settings.yml.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ufo/setting.rb', line 12

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.expand_path("../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