class Transflow::FlowDSL

@api private

Attributes

container[R]

@api private

options[R]

@api private

step_map[R]

@api private

step_options[R]

@api private

Public Class Methods

new(options, &block) click to toggle source

@api private

# File lib/transflow/flow_dsl.rb, line 20
def initialize(options, &block)
  @options = options
  @container = options.fetch(:container)
  @step_map = {}
  @step_options = {}
  instance_exec(&block)
end

Public Instance Methods

call() click to toggle source

@api private

# File lib/transflow/flow_dsl.rb, line 49
def call
  Transaction.new(step_map)
end
monadic(value) click to toggle source

@api public

# File lib/transflow/flow_dsl.rb, line 39
def monadic(value)
  step_options.update(monadic: value)
end
publish(value) click to toggle source

@api public

# File lib/transflow/flow_dsl.rb, line 44
def publish(value)
  step_options.update(publish: value)
end
step(name, options = {}, &block) click to toggle source

@api public

# File lib/transflow/flow_dsl.rb, line 34
def step(name, options = {}, &block)
  StepDSL.new(name, step_options.merge(options), container, step_map, &block).call
end
steps(*names) click to toggle source

@api public

# File lib/transflow/flow_dsl.rb, line 29
def steps(*names)
  names.reverse_each { |name| step(name) }
end