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



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

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

#default_backup_dirObject



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

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

#persistence_classObject



38
39
40
# File 'lib/foreman_tasks/dynflow/configuration.rb', line 38

def persistence_class
  ForemanTasks::Dynflow::Persistence
end

#with_environment_override(options) ⇒ Object



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

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



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

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