class Prism::DotVisitor::Digraph

:nodoc:

def edge(value)

def edge(value)
  edges << value
end

def initialize

def initialize
  @nodes = []
  @waypoints = []
  @edges = []
end

def node(value)

def node(value)
  nodes << value
end

def to_dot

def to_dot
  <<~DOT
    digraph "Prism" {
      node [
        fontname=\"Courier New\"
        shape=plain
        style=filled
        fillcolor=gray95
      ];
      #{nodes.map { |node| node.gsub(/\n/, "\n  ") }.join("\n  ")}
      node [shape=point];
      #{waypoints.join("\n  ")}
      #{edges.join("\n  ")}
    }
  DOT
end

def waypoint(value)

def waypoint(value)
  waypoints << value
end