Module: DevSuite::Workflow

Defined in:
lib/dev_suite/workflow.rb,
lib/dev_suite/workflow/step.rb,
lib/dev_suite/workflow/engine.rb,
lib/dev_suite/workflow/workflow.rb,
lib/dev_suite/workflow/step/base.rb,
lib/dev_suite/workflow/step/loop.rb,
lib/dev_suite/workflow/step/step.rb,
lib/dev_suite/workflow/step_context.rb,
lib/dev_suite/workflow/step/parallel.rb,
lib/dev_suite/workflow/step/composite.rb,
lib/dev_suite/workflow/step/conditional.rb

Defined Under Namespace

Modules: Step Classes: Engine, StepContext

Class Method Summary collapse

Class Method Details

.create_base_step(name, &block) ⇒ Object



18
19
20
# File 'lib/dev_suite/workflow/workflow.rb', line 18

def create_base_step(name, &block)
  create_step(name, type: :base, &block)
end

.create_composite_step(name) ⇒ Object



34
35
36
# File 'lib/dev_suite/workflow/workflow.rb', line 34

def create_composite_step(name)
  create_step(name, type: :composite)
end

.create_conditional_step(name, condition:, &block) ⇒ Object



26
27
28
# File 'lib/dev_suite/workflow/workflow.rb', line 26

def create_conditional_step(name, condition:, &block)
  create_step(name, type: :conditional, condition: condition, &block)
end

.create_engine(context = {}, **options) ⇒ Object



10
11
12
# File 'lib/dev_suite/workflow/workflow.rb', line 10

def create_engine(context = {}, **options)
  Engine.new(context, **options)
end

.create_loop_step(name, iterations:, &block) ⇒ Object



30
31
32
# File 'lib/dev_suite/workflow/workflow.rb', line 30

def create_loop_step(name, iterations:, &block)
  create_step(name, type: :loop, iterations: iterations, &block)
end

.create_parallel_step(name, &block) ⇒ Object



22
23
24
# File 'lib/dev_suite/workflow/workflow.rb', line 22

def create_parallel_step(name, &block)
  create_step(name, type: :parallel, &block)
end

.create_step(name, type: :base, **args, &block) ⇒ Object



14
15
16
# File 'lib/dev_suite/workflow/workflow.rb', line 14

def create_step(name, type: :base, **args, &block)
  Step.build_component(type, name: name, **args, &block)
end