Class: Bootprint::Formatters::Markdown
- Inherits:
-
Object
- Object
- Bootprint::Formatters::Markdown
- Defined in:
- lib/bootprint/formatters/markdown.rb
Instance Method Summary collapse
-
#initialize(report) ⇒ Markdown
constructor
A new instance of Markdown.
- #render ⇒ Object
Constructor Details
#initialize(report) ⇒ Markdown
Returns a new instance of Markdown.
6 |
# File 'lib/bootprint/formatters/markdown.rb', line 6 def initialize(report) = @report = report |
Instance Method Details
#render ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/bootprint/formatters/markdown.rb', line 8 def render output = +"# Bootprint Diagnosis\n\n" output << "| Source | Target | Blocking |\n|---|---|---|\n" output << "| #{@report.source.name} | #{@report.target.name} | #{@report.blocking? ? 'Yes' : 'No'} |\n\n" @report.findings.each do |finding| output << "## #{finding.severity.to_s.upcase}: #{finding.title}\n\n" output << "#{finding.summary}\n\n" output << "**Impact:** #{finding.impact}\n\n" if finding.impact if finding.remediation&.fetch("summary", nil) output << "**Recommended fix:** #{finding.remediation['summary']}\n\n" Array(finding.remediation["commands"]).each { |command| output << "```console\n#{command}\n```\n\n" } end end output << "## Summary\n\n" output << @report.counts.map { |severity, count| "- #{severity}: #{count}" }.join("\n") << "\n" output end |