3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/solidarity/reporter.rb', line 3
def self.generate_report(solid_results, with_srp_details: false)
report = "# Ruby SOLID Principles Analysis Report\n\n"
solid_results.each do |principle, result|
report += "## #{principle.to_s.upcase} - #{full_principle_name(principle)}\n"
report += "Score: #{result[:score].round(2)}/100\n"
if principle == :srp && with_srp_details
report += "Details:\n"
result[:details].each do |class_name, score|
report += " - #{class_name}: #{score}/100\n"
end
elsif principle == :srp && !with_srp_details
report += "Details: Omitted for brevity. Use --with-srp-details to see per-class scores.\n"
else
report += "Details: #{result[:details]}\n"
end
report += "\n"
end
report
end
|