Class: SimpleCov::Formatter::AIFormatter::MarkdownBuilder

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/simplecov-ai/markdown_builder.rb

Overview

Responsible for compiling static text representations from evaluated coverage metrics, optimizing layout size, orchestrating string IO buffers, and halting upon token exhaustion. Serves as the primary mutation boundary to format AI consumption targets.

Instance Method Summary collapse

Constructor Details

#initialize(result, config) ⇒ MarkdownBuilder

Returns a new instance of MarkdownBuilder.



18
19
20
21
22
23
24
# File 'lib/simplecov-ai/markdown_builder.rb', line 18

def initialize(result, config)
  @result = T.let(result, SimpleCov::Result)
  @config = T.let(config, Configuration)
  @buffer = T.let(StringIO.new, StringIO)
  @file_count = T.let(0, Integer)
  @truncated = T.let(false, T::Boolean)
end

Instance Method Details

#buildObject



31
32
33
34
35
36
37
# File 'lib/simplecov-ai/markdown_builder.rb', line 31

def build
  write_header
  write_deficits
  write_bypasses if @config.include_bypasses
  write_truncation_warning if @truncated
  @buffer.string
end