pronto-undercover 0.3.0 → 0.4.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: 7a4d7b86fcbc6f4b8d22d47d2debefe5cccae727c693ecee5d71a575c0f7254d
4
- data.tar.gz: c97cb77a9f27c19d85701c25e27443738b4ecdf1528a6516da00f78309211865
3
+ metadata.gz: 0003fc14ab454dd2855658811881c74453bbaf8db540c59968b4dc372d8c5872
4
+ data.tar.gz: c3794216238f73f21556d9e8c8c2936eaf8334d6d5bb5fb1637f62603be3d844
5
5
  SHA512:
6
- metadata.gz: 5c274a208ece7f380445c01ba044ffd128d9d267a8ae0e02fd85b2a5225830696e2876128eb92432289204815a03ee0c40d1786f5d29363dc07801e9b81271a0
7
- data.tar.gz: 5a1bdd6f0339bab627ad440b91bfeabf83a822dd6388c9d394feb469e9d1cb57cf7f55228220f0b88a0e63a2931987923b23964ad83151dc5fc13f186e113459
6
+ metadata.gz: 687f70871a19bec26f0af3fbabd784509d8bffddbb83236e59e317c8ffe6b6acecfab34911298c9f1b85083f65b10fc47af5926028860c2717ddc28c59ac47fa
7
+ data.tar.gz: 1159f9de475cbd34a3135179d059aac48f11ad7b13087b88d0723a7e401963c418dfc77963a00020da734c05886eb76a5888072d6d785f28cd2adc111bd3dfb8
data/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.4.1] - 2026-10-17
10
+ ### Changed
11
+ - Require `undercover` `>= 0.8`, `< 0.9`, because undercover 0.9.0 changes the changeset API
12
+
13
+ ## [0.4.0] - 2025-11-15
14
+ ### Added
15
+ - Update `undercover` to `0.8.2`
16
+
9
17
  ## [0.3.0] - 2025-07-13
10
18
  ### Added
11
19
  - Update `undercover` to `0.7.3`, support new options and JSON formatter
@@ -29,7 +37,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
29
37
  ### Changed
30
38
  - support `pronto >= 0.9`
31
39
 
32
- [Unreleased]: https://github.com/grodowski/pronto-undercover/compare/v0.3.0...HEAD
40
+ [Unreleased]: https://github.com/grodowski/pronto-undercover/compare/v0.4.1...HEAD
41
+ [0.4.1]: https://github.com/grodowski/pronto-undercover/compare/v0.4.0...v0.4.1
42
+ [0.4.0]: https://github.com/grodowski/pronto-undercover/compare/v0.3.0...v0.4.0
33
43
  [0.3.0]: https://github.com/grodowski/pronto-undercover/compare/v0.2.0...v0.3.0
34
44
  [0.2.0]: https://github.com/grodowski/pronto-undercover/compare/v0.1.6...v0.2.0
35
45
  [0.1.6]: https://github.com/grodowski/pronto-undercover/compare/v0.1.5...v0.1.6
data/Gemfile CHANGED
@@ -14,5 +14,4 @@ gem 'rubocop'
14
14
  gem 'ruby-lsp-rspec', require: false
15
15
  gem 'simplecov'
16
16
  gem 'simplecov-html'
17
- gem 'simplecov-lcov'
18
17
  gem 'timecop'
@@ -29,6 +29,9 @@ module Pronto
29
29
 
30
30
  def each_changed_line
31
31
  @patches.each do |patch|
32
+ filepath = patch.delta.new_file[:path]
33
+ next if @filter_set && !@filter_set.include?(filepath)
34
+
32
35
  patch.added_lines.each do |line|
33
36
  yield patch.delta.new_file[:path].to_s, line.new_lineno
34
37
  end
@@ -40,5 +43,9 @@ module Pronto
40
43
 
41
44
  :stale_coverage if last_modified > File.mtime(lcov_report_path)
42
45
  end
46
+
47
+ def filter_with(filter_set)
48
+ @filter_set = filter_set
49
+ end
43
50
  end
44
51
  end
@@ -34,8 +34,7 @@ module Pronto
34
34
  patch.additions.positive? && ruby_file?(patch.new_file_full_path)
35
35
  end
36
36
 
37
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
38
- def patch_to_undercover_message(patch)
37
+ def patch_to_undercover_message(patch) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
39
38
  offending_line_numbers(patch).map do |warning, msg_line_no|
40
39
  patch
41
40
  .added_lines
@@ -50,14 +49,23 @@ module Pronto
50
49
  end
51
50
  end
52
51
  end
53
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
54
52
 
55
53
  def undercover_warnings
56
54
  @undercover_warnings ||= ::Undercover::Report.new(
57
- @patch_changeset, undercover_options
55
+ @patch_changeset, undercover_options, coverage_adapter
58
56
  ).build.flagged_results
59
57
  end
60
58
 
59
+ def coverage_adapter
60
+ if undercover_options.simplecov_resultset
61
+ ::Undercover::SimplecovResultAdapter.parse(File.open(undercover_options.simplecov_resultset),
62
+ undercover_options)
63
+ else
64
+ # TODO: lcov will be deprecated end of 2025 and we'll be able to refactor harder
65
+ ::Undercover::LcovParser.parse(File.open(undercover_options.lcov), undercover_options)
66
+ end
67
+ end
68
+
61
69
  def offending_line_numbers(patch)
62
70
  patch_lines = patch.added_lines.map(&:new_lineno)
63
71
  path = patch.new_file_full_path.to_s
@@ -91,7 +99,7 @@ module Pronto
91
99
 
92
100
  opts = []
93
101
  OPTS_MAPPING.each { |key, flag| opts << "#{flag}#{config[key]}" if config[key] }
94
- ::Undercover::Options.new.parse(opts)
102
+ @undercover_options ||= ::Undercover::Options.new.parse(opts)
95
103
  end
96
104
  end
97
105
  end
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Pronto
4
4
  module UndercoverVersion
5
- VERSION = '0.3.0'
5
+ VERSION = '0.4.1'
6
6
  end
7
7
  end
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
  spec.required_ruby_version = '>= 2.5'
22
22
 
23
- spec.add_dependency 'pronto', '>= 0.9', '< 0.12'
24
- spec.add_dependency 'undercover', '~> 0.7'
23
+ spec.add_dependency 'pronto', '>= 0.11', '< 0.12'
24
+ spec.add_dependency 'undercover', '>= 0.8', '< 0.9'
25
25
 
26
26
  spec.add_dependency 'base64'
27
27
  spec.add_dependency 'bigdecimal'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pronto-undercover
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Grodowski
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-11-15 00:00:00.000000000 Z
10
+ date: 2026-10-26 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: pronto
@@ -15,7 +15,7 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '0.9'
18
+ version: '0.11'
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0.12'
@@ -25,7 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '0.9'
28
+ version: '0.11'
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
31
  version: '0.12'
@@ -33,16 +33,22 @@ dependencies:
33
33
  name: undercover
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - "~>"
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0.8'
39
+ - - "<"
37
40
  - !ruby/object:Gem::Version
38
- version: '0.7'
41
+ version: '0.9'
39
42
  type: :runtime
40
43
  prerelease: false
41
44
  version_requirements: !ruby/object:Gem::Requirement
42
45
  requirements:
43
- - - "~>"
46
+ - - ">="
44
47
  - !ruby/object:Gem::Version
45
- version: '0.7'
48
+ version: '0.8'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '0.9'
46
52
  - !ruby/object:Gem::Dependency
47
53
  name: base64
48
54
  requirement: !ruby/object:Gem::Requirement