Class: SimpleCovMcp::Presenters::ProjectCoveragePresenter
- Inherits:
-
Object
- Object
- SimpleCovMcp::Presenters::ProjectCoveragePresenter
- Defined in:
- lib/simplecov_mcp/presenters/project_coverage_presenter.rb
Overview
Provides repository-wide coverage summaries shared by CLI and MCP surfaces.
Instance Attribute Summary collapse
-
#check_stale ⇒ Object
readonly
Returns the value of attribute check_stale.
-
#model ⇒ Object
readonly
Returns the value of attribute model.
-
#sort_order ⇒ Object
readonly
Returns the value of attribute sort_order.
-
#tracked_globs ⇒ Object
readonly
Returns the value of attribute tracked_globs.
Instance Method Summary collapse
-
#absolute_payload ⇒ Object
Returns the absolute-path payload including counts.
-
#initialize(model:, sort_order:, check_stale:, tracked_globs:) ⇒ ProjectCoveragePresenter
constructor
A new instance of ProjectCoveragePresenter.
-
#relative_counts ⇒ Object
Returns the coverage counts with relative file paths.
-
#relative_files ⇒ Object
Returns the relativized file rows.
-
#relativized_payload ⇒ Object
Returns the payload with file paths relativized for presentation.
Constructor Details
#initialize(model:, sort_order:, check_stale:, tracked_globs:) ⇒ ProjectCoveragePresenter
Returns a new instance of ProjectCoveragePresenter.
9 10 11 12 13 14 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 9 def initialize(model:, sort_order:, check_stale:, tracked_globs:) @model = model @sort_order = sort_order @check_stale = check_stale @tracked_globs = tracked_globs end |
Instance Attribute Details
#check_stale ⇒ Object (readonly)
Returns the value of attribute check_stale.
7 8 9 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 7 def check_stale @check_stale end |
#model ⇒ Object (readonly)
Returns the value of attribute model.
7 8 9 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 7 def model @model end |
#sort_order ⇒ Object (readonly)
Returns the value of attribute sort_order.
7 8 9 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 7 def sort_order @sort_order end |
#tracked_globs ⇒ Object (readonly)
Returns the value of attribute tracked_globs.
7 8 9 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 7 def tracked_globs @tracked_globs end |
Instance Method Details
#absolute_payload ⇒ Object
Returns the absolute-path payload including counts.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 17 def absolute_payload @absolute_payload ||= begin files = model.all_files( sort_order: sort_order, check_stale: check_stale, tracked_globs: tracked_globs ) { 'files' => files, 'counts' => build_counts(files) } end end |
#relative_counts ⇒ Object
Returns the coverage counts with relative file paths.
39 40 41 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 39 def relative_counts relativized_payload['counts'] end |
#relative_files ⇒ Object
Returns the relativized file rows.
34 35 36 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 34 def relative_files relativized_payload['files'] end |
#relativized_payload ⇒ Object
Returns the payload with file paths relativized for presentation.
29 30 31 |
# File 'lib/simplecov_mcp/presenters/project_coverage_presenter.rb', line 29 def relativized_payload @relativized_payload ||= model.relativize(absolute_payload) end |