Sha256: d0724020c77598351e3661089094d8e992c2ace8e8907f3d932c4eb7ef9141ed

Contents?: true

Size: 1.37 KB

Versions: 12

Compression:

Stored size: 1.37 KB

Contents

require File.expand_path('lib/foreman/dynflow/configuration', Rails.root)
require 'foreman_tasks/dynflow/persistence'

module ForemanTasks
  # Import all Dynflow configuration from Foreman, and add our own for Tasks
  class Dynflow::Configuration < ::Foreman::Dynflow::Configuration
    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

    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

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

    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

    def initialize_persistence
      ForemanTasks::Dynflow::Persistence.new(default_sequel_adapter_options)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
foreman-tasks-0.11.3 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.12.2 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.11.2 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.12.1 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.12.0 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.11.1 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.10.9 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.11.0 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.10.8 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.10.7 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.10.6 lib/foreman_tasks/dynflow/configuration.rb
foreman-tasks-0.10.4 lib/foreman_tasks/dynflow/configuration.rb