Method: Pipedream::Setting#data

Defined in:
lib/pipedream/setting.rb

#dataObject

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



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

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

  # project based settings files
  project = load_file(project_settings_path)

  user_file = "#{ENV['HOME']}/.pipedream/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)

  env_data = all_envs[pipe_env] || {}
  base_data = all_envs["base"] || {}
  data = base_data.merge(env_data)

  data.deep_symbolize_keys
end