Module: ChurnVsComplexity::Hotspots::Serializer::Markdown
- Defined in:
- lib/churn_vs_complexity/hotspots/serializer.rb
Constant Summary collapse
- RISK_HEADINGS =
{ 'high' => 'High Risk -- require tests and careful review', 'medium' => 'Medium Risk -- exercise judgement', 'low' => 'Low Risk -- safe for quick changes', }.freeze
Class Method Summary collapse
Class Method Details
.serialize(result) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/churn_vs_complexity/hotspots/serializer.rb', line 25 def self.serialize(result) entries = RiskAnnotator.annotate(result[:values_by_file], language: result[:language]) entries.sort_by! { |e| -e[:gamma_score] } grouped = entries.group_by { |e| e[:risk] } lines = ["## Hotspots (generated #{Date.today})", ''] RISK_HEADINGS.each { |level, heading| append_section(lines, grouped[level], heading) } lines.join("\n") end |