Class: Dogfood::DSL::AuditReport::MarkdownFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/dogfood/dsl/audit_report.rb

Overview

── Markdown formatter ──

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(report) ⇒ MarkdownFormatter

Returns a new instance of MarkdownFormatter.



558
559
560
# File 'lib/dogfood/dsl/audit_report.rb', line 558

def initialize(report)
  @report = report
end

Class Method Details

.render(report) ⇒ Object



554
555
556
# File 'lib/dogfood/dsl/audit_report.rb', line 554

def self.render(report)
  new(report).render
end

Instance Method Details

#renderObject



562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
# File 'lib/dogfood/dsl/audit_report.rb', line 562

def render
  lines = []
  s = @report[:scenario]

  lines << "# Scenario: #{s[:name]}"
  lines << ""
  lines << "**Title:** #{s[:title]}"
  lines << "**Stages:** #{s[:stages].join('')}"
  lines << "**Resumes:** #{render_resume(s[:resume])}"
  lines << "**Delays:** #{s[:delays].join(', ')}"
  lines << ""

  @report[:tree].each do |stage|
    lines << "## Stage: #{stage[:stage]}"
    lines << ""
    stage[:nodes].each do |node|
      lines.concat(md_node(node, 0))
    end
    lines << ""
  end

  lines.concat(section_b)
  lines << ""
  lines.concat(section_c)
  lines << ""
  lines.concat(section_d)
  lines << ""
  lines.concat(section_e)

  lines.join("\n") + "\n"
end