Class: Coverband::MCP::Tools::GetCoverageSummary

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/coverband/mcp/tools/get_coverage_summary.rb

Class Method Summary collapse

Class Method Details

.call(server_context:) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/coverband/mcp/tools/get_coverage_summary.rb', line 14

def self.call(server_context:, **)
  store = Coverband.configuration.store
  report = Coverband::Reporters::JSONReport.new(store)
  data = JSON.parse(report.report)

  summary = {
    total_files: data["total_files"],
    lines_of_code: data["lines_of_code"],
    lines_covered: data["lines_covered"],
    lines_missed: data["lines_missed"],
    covered_percent: data["covered_percent"],
    covered_strength: data["covered_strength"]
  }

  ::MCP::Tool::Response.new([{
    type: "text",
    text: JSON.pretty_generate(summary)
  }])
rescue => e
  ::MCP::Tool::Response.new([{
    type: "text",
    text: "Error getting coverage summary: #{e.message}"
  }])
end