class Flows::SharedContextPipeline::Track
@api private
Constants
- TRACK_ENTRY_ROUTER_DEF
Public Class Methods
new(name)
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 10 def initialize(name) @name = name @step_list = [] end
Public Instance Methods
add_step(step)
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 19 def add_step(step) last_step = @step_list.last last_step.next_step = step.name if last_step @step_list << step self end
empty?()
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 32 def empty? @step_list.empty? end
first_step_name()
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 28 def first_step_name @step_list.first.name end
initialize_dup(_other)
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 15 def initialize_dup(_other) @step_list = @step_list.map(&:dup) end
to_node_map(method_source)
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 36 def to_node_map(method_source) @step_list.each_with_object(@name => make_track_entry_node) do |step, node_map| node_map[step.name] = step.to_node(method_source) end end
Private Instance Methods
make_track_entry_node()
click to toggle source
# File lib/flows/shared_context_pipeline/track.rb, line 44 def make_track_entry_node MutationStep.new( name: @name, body: proc { true }, router_def: TRACK_ENTRY_ROUTER_DEF, next_step: first_step_name ).to_node(nil) end