Class: SimpleCovMcp::Presenters::BaseCoveragePresenter

Inherits:
Object
  • Object
show all
Defined in:
lib/simplecov_mcp/presenters/base_coverage_presenter.rb

Overview

Shared presenter behavior for single-file coverage payloads.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model:, path:) ⇒ BaseCoveragePresenter

Returns a new instance of BaseCoveragePresenter.



9
10
11
12
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 9

def initialize(model:, path:)
  @model = model
  @path = path
end

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



7
8
9
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 7

def model
  @model
end

#pathObject (readonly)

Returns the value of attribute path.



7
8
9
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 7

def path
  @path
end

Instance Method Details

#absolute_payloadObject

Returns the absolute-path payload augmented with stale metadata.



15
16
17
18
19
20
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 15

def absolute_payload
  @absolute_payload ||= begin
    payload = build_payload
    payload.merge('stale' => model.staleness_for(path))
  end
end

#relative_pathObject

Returns the relativized file path used in CLI output.



33
34
35
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 33

def relative_path
  relativized_payload['file']
end

#relativized_payloadObject

Returns the payload with file paths relativized for presentation.



23
24
25
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 23

def relativized_payload
  @relativized_payload ||= model.relativize(absolute_payload)
end

#staleObject

Returns the cached stale status for the file.



28
29
30
# File 'lib/simplecov_mcp/presenters/base_coverage_presenter.rb', line 28

def stale
  absolute_payload['stale']
end