Class: Smith::Workflow::Graph::ExecutionSuccessors

Inherits:
Object
  • Object
show all
Defined in:
lib/smith/workflow/graph/execution_successors.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(graph) ⇒ ExecutionSuccessors

Returns a new instance of ExecutionSuccessors.



11
12
13
# File 'lib/smith/workflow/graph/execution_successors.rb', line 11

def initialize(graph)
  @graph = graph
end

Instance Attribute Details

#graphObject (readonly)

Returns the value of attribute graph.



9
10
11
# File 'lib/smith/workflow/graph/execution_successors.rb', line 9

def graph
  @graph
end

Instance Method Details

#failure_control_marker(transition) ⇒ Object



23
24
25
26
# File 'lib/smith/workflow/graph/execution_successors.rb', line 23

def failure_control_marker(transition)
  target = executable_target(transition.failure_transition, expected_state: transition.from)
  target if target && !TransitionActionability.call(target)
end

#for(transition) ⇒ Object



19
20
21
# File 'lib/smith/workflow/graph/execution_successors.rb', line 19

def for(transition)
  successful_successors(transition) + failure_successors(transition)
end

#initial_transitionObject



15
16
17
# File 'lib/smith/workflow/graph/execution_successors.rb', line 15

def initial_transition
  graph.first_transition_from(graph.initial_state)
end