Class: Tasker::Types::StepTemplate

Inherits:
Dry::Struct
  • Object
show all
Defined in:
lib/tasker/types/step_template.rb

Overview

StepTemplate defines the structure for workflow step templates

A step template provides the blueprint for creating specific workflow steps in a task’s sequence. It defines the behavior, dependencies, and configuration for steps of a particular type.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#custom_eventsArray<Hash> (readonly)



53
# File 'lib/tasker/types/step_template.rb', line 53

attribute :custom_events, Types.Array(Types::Hash).optional.default([].freeze)

#default_retry_limitInteger (readonly)



29
# File 'lib/tasker/types/step_template.rb', line 29

attribute :default_retry_limit, Types::Integer.default(3)

#default_retryableBoolean (readonly)



25
# File 'lib/tasker/types/step_template.rb', line 25

attribute :default_retryable, Types::Bool.default(true)

#dependent_systemString (readonly)



13
# File 'lib/tasker/types/step_template.rb', line 13

attribute :dependent_system, Types::Strict::String

#depends_on_stepString? (readonly)



45
# File 'lib/tasker/types/step_template.rb', line 45

attribute :depends_on_step, Types::String.optional.default(nil)

#depends_on_stepsArray<String> (readonly)



49
# File 'lib/tasker/types/step_template.rb', line 49

attribute :depends_on_steps, Types.Array(Types::String).default([].freeze)

#descriptionString (readonly)



21
# File 'lib/tasker/types/step_template.rb', line 21

attribute :description, Types::String

#handler_classClass (readonly)



37
# File 'lib/tasker/types/step_template.rb', line 37

attribute :handler_class, Types::Class

#handler_configObject? (readonly)



41
# File 'lib/tasker/types/step_template.rb', line 41

attribute :handler_config, Types::Any.optional.default(nil)

#nameString (readonly)



17
# File 'lib/tasker/types/step_template.rb', line 17

attribute :name, Types::Strict::String

#skippableBoolean (readonly)



33
# File 'lib/tasker/types/step_template.rb', line 33

attribute :skippable, Types::Bool.default(false)

Instance Method Details

#all_dependenciesArray<String>

Returns all dependency step names as a single array



58
59
60
# File 'lib/tasker/types/step_template.rb', line 58

def all_dependencies
  [depends_on_step, *depends_on_steps].compact.uniq
end