Module: ArchUnit::GraphReporting::Rendering::MermaidRenderer

Defined in:
lib/archunit/graph/rendering/mermaid_renderer.rb

Overview

Renders a Mermaid flowchart from a report snapshot.

Class Method Summary collapse

Class Method Details

.render(snapshot) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/archunit/graph/rendering/mermaid_renderer.rb', line 13

def render(snapshot)
  snapshot = RenderingSupport.validate_snapshot(snapshot)
  ids = RenderingSupport.node_ids(snapshot)
  lines = ["%% #{Escaping.single_line(snapshot.title)}", 'flowchart LR']
  snapshot.nodes.each do |node|
    lines << "  #{node.id}[\"#{Escaping.mermaid_label(node.label)}\"]"
  end
  snapshot.edges.each { |edge| lines << edge_line(edge, ids) }
  lines.join("\n")
end