Sha256: 5e20d50aca5d2b1a754e26e69f23fbbda089b80b5e7f3cd335dd5ee6a73a24d3

Contents?: true

Size: 796 Bytes

Versions: 2

Compression:

Stored size: 796 Bytes

Contents

# frozen_string_literal: true

module DevSuite
  module Workflow
    require_relative "step_context"
    require_relative "step"
    require_relative "engine"

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

      def create_step(name, &block)
        Step::Base.new(name, &block)
      end

      def create_parallel_step(name, &block)
        Step::Parallel.new(name, &block)
      end

      def create_conditional_step(name, condition, &block)
        Step::Conditional.new(name, condition, &block)
      end

      def create_loop_step(name, iterations, &block)
        Step::Loop.new(name, iterations, &block)
      end

      def create_composite_step(name)
        Step::Composite.new(name)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dev_suite-0.2.9 lib/dev_suite/workflow/workflow.rb
dev_suite-0.2.8 lib/dev_suite/workflow/workflow.rb