Class: VisualizeRuby::Parser::Or

Inherits:
Base
  • Object
show all
Defined in:
lib/visualize_ruby/parser/or.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from VisualizeRuby::Parser::Base

Instance Method Details

#parseArray<VisualizeRuby::Node>, Array<VisualizeRuby::Edge>

Returns:



6
7
8
9
10
11
12
13
14
15
# File 'lib/visualize_ruby/parser/or.rb', line 6

def parse
  last_node = nil
  @ast.children.reverse.map do |c|
    node = Node.new(name: AstHelper.new(c).description, type: :decision)
    edges << Edge.new(name: "OR", nodes: [node, last_node]) if last_node
    last_node = node
    nodes << node
  end
  return nodes.reverse, edges
end