Module: ArchUnit::GraphReporting::Rendering::CsvRenderer

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

Overview

Renders aggregated graph edges as standards-compliant CSV.

Constant Summary collapse

HEADERS =
%w[source target count external import_kinds].freeze

Class Method Summary collapse

Class Method Details

.render(snapshot) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/archunit/graph/rendering/csv_renderer.rb', line 15

def render(snapshot)
  snapshot = RenderingSupport.validate_snapshot(snapshot)
  CSV.generate(row_sep: "\n") do |csv|
    csv << HEADERS
    snapshot.edges.each do |edge|
      csv << [
        edge.source, edge.target, edge.count, edge.external,
        edge.import_kinds.join('|')
      ]
    end
  end.rstrip
end