class Flows::Railway::StepList

@api private

Public Class Methods

new() click to toggle source
# File lib/flows/railway/step_list.rb, line 5
def initialize
  @list = []
end

Public Instance Methods

add(name:, lambda: nil) click to toggle source
# File lib/flows/railway/step_list.rb, line 13
def add(name:, lambda: nil)
  step = Step.new(name: name, lambda: lambda)
  last_step = @list.last

  last_step.next_step = name if last_step

  @list << step

  self
end
empty?() click to toggle source
# File lib/flows/railway/step_list.rb, line 33
def empty?
  @list.empty?
end
first_step_name() click to toggle source
# File lib/flows/railway/step_list.rb, line 24
def first_step_name
  @list.first.name
end
initialize_dup(_other) click to toggle source
# File lib/flows/railway/step_list.rb, line 9
def initialize_dup(_other)
  @list = @list.map(&:dup)
end
to_node_map(method_source) click to toggle source

`:reek:FeatureEnvy` is false positive here.

# File lib/flows/railway/step_list.rb, line 29
def to_node_map(method_source)
  @list.map { |step| [step.name, step.to_node(method_source)] }.to_h
end