Method: Codepipe::Setting#data

Defined in:
lib/codepipe/setting.rb

#dataObject

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



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

def data
  Codepipe.check_codepipeline_project! if @check_codepipeline_project
  return {} unless File.exist?(project_settings_path)

  # project based settings files
  project = load_file(project_settings_path)

  user_file = "#{ENV['HOME']}/.codepipeline/settings.yml"
  user = File.exist?(user_file) ? YAML.load_file(user_file) : {}

  default_file = File.expand_path("default/settings.yml", __dir__)
  default = load_file(default_file)

  all_envs = default.deep_merge(user.deep_merge(project))
  all_envs = merge_base(all_envs)
  data = all_envs[pipe_env] || all_envs["base"] || {}
  data.deep_symbolize_keys
end