Class: Solidarity::Reporter

Inherits:
Object
  • Object
show all
Defined in:
lib/solidarity/reporter.rb

Class Method Summary collapse

Class Method Details

.generate_report(solid_results, with_srp_details: false) ⇒ Object



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