Sha256: 46620b9b90436dcf0984e6f734c040a9a175c8a7cb8c5989ff394efadb0ab1d0

Contents?: true

Size: 982 Bytes

Versions: 39

Compression:

Stored size: 982 Bytes

Contents

# frozen_string_literal: true

module Bolt
  class PAL
    class YamlPlan
      class Step
        class Task < Step
          def self.allowed_keys
            super + Set['parameters']
          end

          def self.option_keys
            Set['catch_errors', 'noop', 'run_as']
          end

          def self.required_keys
            Set['targets', 'task']
          end

          # Returns an array of arguments to pass to the step's function call
          #
          private def format_args(body)
            opts   = format_options(body)
            params = (body['parameters'] || {}).merge(opts)

            args = [body['task'], body['targets']]
            args << body['description'] if body['description']
            args << params if params.any?

            args
          end

          # Returns the function corresponding to the step
          #
          private def function
            'run_task'
          end
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
bolt-4.0.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.29.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.28.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.27.4 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.27.2 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.27.1 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.26.2 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.26.1 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.25.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.24.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.23.1 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.23.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.22.1 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.22.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.21.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.20.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.19.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.18.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.17.0 lib/bolt/pal/yaml_plan/step/task.rb
bolt-3.16.1 lib/bolt/pal/yaml_plan/step/task.rb