Class: SimpleCovMcp::Tools::AllFilesCoverageTool

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/simplecov_mcp/tools/all_files_coverage_tool.rb

Constant Summary

Constants inherited from BaseTool

BaseTool::COMMON_PROPERTIES, BaseTool::ERROR_MODE_PROPERTY, BaseTool::FILE_INPUT_SCHEMA, BaseTool::PATH_PROPERTY, BaseTool::TRACKED_GLOBS_PROPERTY

Class Method Summary collapse

Methods inherited from BaseTool

coverage_schema, handle_mcp_error, input_schema_def, respond_json, with_error_handling

Class Method Details

.call(root: '.', resultset: nil, sort_order: 'ascending', staleness: :off, tracked_globs: nil, error_mode: 'log', server_context:) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/simplecov_mcp/tools/all_files_coverage_tool.rb', line 30

def call(root: '.', resultset: nil, sort_order: 'ascending', staleness: :off,
  tracked_globs: nil, error_mode: 'log', server_context:)
  with_error_handling('AllFilesCoverageTool', error_mode: error_mode) do
    # Convert string inputs from MCP to symbols for internal use
    sort_order_sym = sort_order.to_sym
    staleness_sym = staleness.to_sym

    model = CoverageModel.new(root: root, resultset: resultset, staleness: staleness_sym,
      tracked_globs: tracked_globs)
    presenter = Presenters::ProjectCoveragePresenter.new(
      model: model,
      sort_order: sort_order_sym,
      check_stale: (staleness_sym == :error),
      tracked_globs: tracked_globs
    )
    respond_json(presenter.relativized_payload, name: 'all_files_coverage.json')
  end
end