class EndState::Graph
Attributes
event_labels[R]
machine[R]
nodes[R]
Public Class Methods
new(machine, event_labels=true)
click to toggle source
Calls superclass method
# File lib/end_state/graph.rb, line 5 def initialize(machine, event_labels=true) @machine = machine @nodes = {} @event_labels = event_labels super machine.name.to_sym end
Public Instance Methods
draw()
click to toggle source
# File lib/end_state/graph.rb, line 12 def draw add_transitions self end
Private Instance Methods
add_transition(start_state, end_state, event)
click to toggle source
# File lib/end_state/graph.rb, line 25 def add_transition start_state, end_state, event nodes[start_state] ||= add_node(start_state.to_s) nodes[end_state] ||= add_node(end_state.to_s) edge = add_edge nodes[start_state], nodes[end_state] edge[:label] = event.to_s if event && event_labels end
add_transitions()
click to toggle source
# File lib/end_state/graph.rb, line 19 def add_transitions machine.transition_configurations.each do |start_state, end_state, _, event| add_transition(start_state, end_state, event) end end