simplecov-ai 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 03eef8493da2d38018d6be59cde9dccf4cf0811cd916183fc99a3af4b194bef9
4
- data.tar.gz: fe85e118ff57bf66a74a6bd9f27ee2f778b0f3a77d745e38dce36909a2cfb637
3
+ metadata.gz: 576c5e4cf35ca947577427b1da22a95eb70ec3318cae00c73d555e7322688ad4
4
+ data.tar.gz: 92db8df633735a42827d3e62f69bd7dbc9c03de20758d12b0e7dec32dbd87165
5
5
  SHA512:
6
- metadata.gz: 2ef39fea3f09836adb1b9ace8cc556578b0b301a9704168328193880370942d93d19e0ad527ed2f062ab67d669d2814a92fd9df421db4d8d5589a5a5b4b29eee
7
- data.tar.gz: 6690600cd0625a0f3ed9df1b7a6aa65018b1b5bba9fd89f7e1eeb4f7db316110f6201f537bad18cc7adccde819b2d88cd6a3cde5fbd0ddf0f85f0a861d98edc2
6
+ metadata.gz: 01fd803f6a14fb042221d2aa2964c257506c3244ebd1810af962d97ea7dc9e8271abfe080276bbd34d1739b651e556fdd9d65abd53dfaab30e63410dbd1bdc6f
7
+ data.tar.gz: 95217a0e33e2dcc13e7a155bc5f4a8f889922279279173552d61783ece44410acc76134d5e0729ef0fdf4843a21c886b81d33173719abaf16adc07a78101e21a
checksums.yaml.gz.sig CHANGED
Binary file
@@ -59,15 +59,17 @@ module SimpleCov
59
59
 
60
60
  sig { void }
61
61
  def write_deficits
62
- @buffer.puts "## Coverage Deficits\n\n"
63
-
64
62
  # SCMD-REQ-014: Sort by coverage percent ASC, then by filename
65
63
  files = T.let(
66
- T.cast(@result.files, T::Array[SimpleCov::SourceFile]).reject { |f| T.cast(f.covered_percent, Float) >= 100.0 }
64
+ T.cast(@result.files.to_a, T::Array[SimpleCov::SourceFile]).reject { |f| T.cast(f.covered_percent, Float) >= 100.0 }
67
65
  .sort_by { |f| [T.cast(f.covered_percent, Float), T.cast(f.filename, String)] },
68
66
  T::Array[SimpleCov::SourceFile]
69
67
  )
70
68
 
69
+ return if files.empty?
70
+
71
+ @buffer.puts "## Coverage Deficits\n\n"
72
+
71
73
  files.each do |file|
72
74
  # Check size limits SCMD-REQ-012
73
75
  if @buffer.size / 1024.0 > @config.max_file_size_kb
@@ -97,7 +99,7 @@ module SimpleCov
97
99
  @buffer.puts "- `#{node_name}`\n - **Line Deficit:** Unexecuted code."
98
100
  end
99
101
 
100
- if file.respond_to?(:branches) && T.cast(file.branches, T::Boolean)
102
+ if file.respond_to?(:branches) && file.branches.is_a?(Array) && file.branches.any?
101
103
  T.cast(file.missed_branches, T::Array[SimpleCov::SourceFile::Branch]).each do |branch|
102
104
  start_line = T.cast(branch.start_line, Integer)
103
105
  end_line = T.cast(branch.end_line, Integer)
@@ -115,7 +117,7 @@ module SimpleCov
115
117
  has_bypasses = T.let(false, T::Boolean)
116
118
  bypass_buffer = T.let(StringIO.new, StringIO)
117
119
 
118
- T.cast(@result.files, T::Array[SimpleCov::SourceFile]).each do |file|
120
+ T.cast(@result.files.to_a, T::Array[SimpleCov::SourceFile]).each do |file|
119
121
  begin
120
122
  nodes = ASTResolver.resolve(T.cast(file.filename, String))
121
123
  rescue StandardError
@@ -8,7 +8,7 @@ module SimpleCov
8
8
  class AIFormatter
9
9
  # The semantic version identifier for the gem, used for dependency resolution
10
10
  # and enforcing compatibility across upgrades.
11
- VERSION = T.let('0.10.0', String)
11
+ VERSION = T.let('0.10.1', String)
12
12
  end
13
13
  end
14
14
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitalii Lazebnyi
@@ -259,6 +259,20 @@ dependencies:
259
259
  - - ">="
260
260
  - !ruby/object:Gem::Version
261
261
  version: '0'
262
+ - !ruby/object:Gem::Dependency
263
+ name: simplecov-ai
264
+ requirement: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - "~>"
267
+ - !ruby/object:Gem::Version
268
+ version: '0.10'
269
+ type: :development
270
+ prerelease: false
271
+ version_requirements: !ruby/object:Gem::Requirement
272
+ requirements:
273
+ - - "~>"
274
+ - !ruby/object:Gem::Version
275
+ version: '0.10'
262
276
  description: Generates highly concise, deterministic Markdown coverage digests tailored
263
277
  for LLMs and autonomous agents by matching coverage deficits to their AST semantic
264
278
  boundaries rather than line numbers.
metadata.gz.sig CHANGED
Binary file