Class: VisualizeRuby::Parser::Or
- Inherits:
-
Object
- Object
- VisualizeRuby::Parser::Or
- Defined in:
- lib/visualize_ruby/parser/or.rb
Instance Method Summary collapse
-
#initialize(ast) ⇒ Or
constructor
A new instance of Or.
- #parse ⇒ Array<VisualizeRuby::Node>, Array<VisualizeRuby::Edge>
Constructor Details
#initialize(ast) ⇒ Or
Returns a new instance of Or.
4 5 6 |
# File 'lib/visualize_ruby/parser/or.rb', line 4 def initialize(ast) @ast = ast end |
Instance Method Details
#parse ⇒ Array<VisualizeRuby::Node>, Array<VisualizeRuby::Edge>
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/visualize_ruby/parser/or.rb', line 9 def parse last_node = nil edges = [] nodes = @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 node end.reverse return nodes, edges end |