Class: ForemanTasks::Dynflow::Configuration

Inherits:
Foreman::Dynflow::Configuration
  • Object
show all
Defined in:
lib/foreman_tasks/dynflow/configuration.rb

Overview

Import all Dynflow configuration from Foreman, and add our own for Tasks

Instance Method Summary collapse

Instance Method Details

#backup_settingsObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/foreman_tasks/dynflow/configuration.rb', line 13

def backup_settings
  return @backup_settings if @backup_settings
  backup_options = {
    :backup_deleted_plans => true,
    :backup_dir => default_backup_dir,
  }
  settings = SETTINGS.dig(:'foreman-tasks', :backup)
  backup_options.merge!(settings) if settings
  @backup_settings = with_environment_override backup_options
end

#default_backup_dirObject



24
25
26
# File 'lib/foreman_tasks/dynflow/configuration.rb', line 24

def default_backup_dir
  File.join(Rails.root, 'tmp', 'task-backup')
end

#with_environment_override(options) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/foreman_tasks/dynflow/configuration.rb', line 28

def with_environment_override(options)
  env_var = ENV['TASK_BACKUP']
  unless env_var.nil?
    # Everything except 0, n, no, false is considered to be a truthy value
    options[:backup_deleted_plans] = !%w[0 n no false].include?(env_var.downcase)
  end
  options
end

#world_configObject



6
7
8
9
10
11
# File 'lib/foreman_tasks/dynflow/configuration.rb', line 6

def world_config
  super.tap do |config|
    config.backup_deleted_plans = backup_settings[:backup_deleted_plans]
    config.backup_dir           = backup_settings[:backup_dir]
  end
end