rubycritic 4.11.0 → 5.0.0

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: dc015a0d7c129bd1da7f6a6568ddfdbd970f6fb9899632e07c1687b4d2b0e24f
4
- data.tar.gz: a94ac6fe001ee473936352ce4684012fad2d541feab5b3a432da5391784932ab
3
+ metadata.gz: faf800c38a9effa550ed2046528f3cd8b6692da9fbe1b876e083e161ccc1e78e
4
+ data.tar.gz: fdfcda8744011dab4554f8704806bfefb7bc4d7dc4f63a00b7be1b74dcad3f55
5
5
  SHA512:
6
- metadata.gz: 3b8712ec496070d78cb6ebbaf57a3a50e37e6971c7997fff75dd6a52bb17b3e549c66150ea8f614e2d80afe2fd4cc9ac2352a9ffeecb548c0becd0ba93a989cb
7
- data.tar.gz: 42427d7b53a2921623a53cb9be052019b1399f0eaa729e4a17540bfe5c0a34c8153c59233f15242afcb3782cbcd2514cfccc7c9a7d25ed4e33f2c1ceea06cbf9
6
+ metadata.gz: 1d301f39b803390c57da630145ebcbb0d438853748cc14c9ad6eb3b5cd5b828db3961dcf00a5956a4aa71d0a09186107a1a7822b1d994280d3e71db483547bc0
7
+ data.tar.gz: 75a2496373c93fd206c87537b0bfe53773cb7d10f4a1ad15db575d5fecd49dad10f7cfae456c80da6cd6fa78db9d92ba5f6bb015301429d86eeb1ebf36a943d9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
1
- # main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v4.11.0...main)
1
+ # main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v5.0.0...main)
2
2
 
3
- * <INSERT YOUR CHANGES HERE>
3
+ * [CHANGE] ...
4
+ * [BUGFIX] ...
5
+ * [CHORE] ...
6
+ * [FEATURE] ...
7
+
8
+ # v5.0.0 / 2026-01-26 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.12.0...v5.0.0)
9
+
10
+ * [CHORE] Bump byebug dependency (by [@faisal][])
11
+ * [CHORE] Bump mdl and mocha dependencies (by [@faisal][])
12
+ * [CHORE] Bump minitest dependency, and add minitest-mock dependency (by [@faisal][])
13
+ * [CHORE] Bump fakefs dependency, and drop irb dependency (by [@faisal][])
14
+ * [CHORE] In RubyCritic::Generator::Html::Line, require cgi/escape rather than cgi, as the latter is removed from Ruby 4.0 (by [@faisal][])
15
+ * [CHORE] Run Markdown linting in CI using Ruby 4.0 (by [@faisal][])
16
+ * [CHANGE] Sorted cops in .rubocop.yml to make it easier for maintainers to add or modify cop settings, and unified duplicate Metrics/MethodLength settings. (by [@faisal][])
17
+ * [CHANGE] Drop support for Ruby 3.1.x and JRuby 9.4 (by [@faisal][])
18
+ * [CHANGE] Add CI support for JRuby 10.0 (by [@faisal][])
19
+ * [CHORE] Start testing library with Ruby 4.0 (by [@etagwerker][])
20
+
21
+ # v4.12.0 / 2026-01-25 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.11.0...v4.12.0)
22
+
23
+ * [CHANGE] Bump cucumber dependency (by [@faisal][])
24
+ * [BUGFIX] Fixed regression in compatibility with Flog 4.9.0 (by [@faisal][])
25
+ * [CHANGE] Bump mocha dependency (by [@faisal][])
26
+ * [CHORE] Update CI checkout action to v6 (by [@faisal][]])
27
+ * [CHORE] Uses prism instead of parser for Ruby 3.4 and above (by [@torresga][] and [@julioalucero][])
28
+ * [BUGFIX] Respect excluded paths from .reek configuration file during reek analysis (by [@fbuys][])
4
29
 
5
30
  # v4.11.0 / 2025-10-15 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.10.0...v4.11.0)
6
31
 
data/README.md CHANGED
@@ -244,11 +244,13 @@ RubyCritic is supporting Ruby versions:
244
244
  | 2.4 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
245
245
  | 2.5 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
246
246
  | 2.6 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
247
- | 2.7 | [v4.9.x](https://github.com/whitesmith/rubycritic/tree/v4.9.1) |
248
- | 3.0 | latest |
249
- | 3.1 | latest |
247
+ | 2.7 | [v4.9.1](https://github.com/whitesmith/rubycritic/tree/v4.9.1) |
248
+ | 3.0 | [v4.9.2](https://github.com/whitesmith/rubycritic/tree/v4.9.1) |
249
+ | 3.1 | [v4.12.0](https://github.com/whitesmith/rubycritic/tree/v4.12.0) |
250
250
  | 3.2 | latest |
251
251
  | 3.3 | latest |
252
+ | 3.4 | latest |
253
+ | 4.0 | latest |
252
254
 
253
255
  ## Improving RubyCritic
254
256
 
@@ -11,7 +11,7 @@ module RubyCritic
11
11
  }.freeze
12
12
 
13
13
  def initialize
14
- super(DEFAULT_OPTIONS)
14
+ super(DEFAULT_OPTIONS.clone(freeze: false))
15
15
  end
16
16
  end
17
17
  end
@@ -1,14 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'parser/current'
4
- require 'rubycritic/analysers/helpers/ast_node'
5
-
6
3
  module RubyCritic
7
4
  module Parser
8
5
  def self.parse(content)
9
- ::Parser::CurrentRuby.parse(content) || AST::EmptyNode.new
6
+ parser = parser_class
7
+ require 'rubycritic/analysers/helpers/ast_node'
8
+ parser.parse(content) || AST::EmptyNode.new
10
9
  rescue ::Parser::SyntaxError
11
10
  AST::EmptyNode.new
12
11
  end
12
+
13
+ def self.parser_class
14
+ return @parser_class if defined?(@parser_class) && @parser_class
15
+
16
+ @parser_class =
17
+ if Gem::Version.new(RUBY_VERSION) <= '3.3'
18
+ require 'parser/current'
19
+ ::Parser::CurrentRuby
20
+ else
21
+ require 'prism'
22
+ ::Prism::Translation::ParserCurrent
23
+ end
24
+ end
25
+ private_class_method :parser_class
13
26
  end
14
27
  end
@@ -10,7 +10,10 @@ module RubyCritic
10
10
  include Colorize
11
11
 
12
12
  def initialize(analysed_modules)
13
- @analysed_modules = analysed_modules
13
+ @analysed_modules = analysed_modules.reject do |mod|
14
+ path_string = mod.pathname.to_s
15
+ Reek.configuration.path_excluded?(Pathname.new(path_string))
16
+ end
14
17
  end
15
18
 
16
19
  def run
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'cgi'
3
+ require 'cgi/escape'
4
4
  require 'rubycritic/generators/html/base'
5
5
 
6
6
  module RubyCritic
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyCritic
4
- VERSION = '4.11.0'
4
+ VERSION = '5.0.0'
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubycritic
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Simoes
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-10-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: flay
@@ -51,6 +51,20 @@ dependencies:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: 2.5.2
54
+ - !ruby/object:Gem::Dependency
55
+ name: ostruct
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
54
68
  - !ruby/object:Gem::Dependency
55
69
  name: parser
56
70
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +79,20 @@ dependencies:
65
79
  - - ">="
66
80
  - !ruby/object:Gem::Version
67
81
  version: 3.3.0.5
82
+ - !ruby/object:Gem::Dependency
83
+ name: prism
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.6.0
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.6.0
68
96
  - !ruby/object:Gem::Dependency
69
97
  name: rainbow
70
98
  requirement: !ruby/object:Gem::Requirement
@@ -209,7 +237,7 @@ dependencies:
209
237
  requirements:
210
238
  - - "~>"
211
239
  - !ruby/object:Gem::Version
212
- version: '12.0'
240
+ version: '13.0'
213
241
  - - ">="
214
242
  - !ruby/object:Gem::Version
215
243
  version: '10.0'
@@ -219,7 +247,7 @@ dependencies:
219
247
  requirements:
220
248
  - - "~>"
221
249
  - !ruby/object:Gem::Version
222
- version: '12.0'
250
+ version: '13.0'
223
251
  - - ">="
224
252
  - !ruby/object:Gem::Version
225
253
  version: '10.0'
@@ -229,20 +257,20 @@ dependencies:
229
257
  requirements:
230
258
  - - "~>"
231
259
  - !ruby/object:Gem::Version
232
- version: 10.1.0
233
- - - "!="
260
+ version: 10.2.0
261
+ - - ">="
234
262
  - !ruby/object:Gem::Version
235
- version: 9.0.0
263
+ version: 10.1.0
236
264
  type: :development
237
265
  prerelease: false
238
266
  version_requirements: !ruby/object:Gem::Requirement
239
267
  requirements:
240
268
  - - "~>"
241
269
  - !ruby/object:Gem::Version
242
- version: 10.1.0
243
- - - "!="
270
+ version: 10.2.0
271
+ - - ">="
244
272
  - !ruby/object:Gem::Version
245
- version: 9.0.0
273
+ version: 10.1.0
246
274
  - !ruby/object:Gem::Dependency
247
275
  name: diff-lcs
248
276
  requirement: !ruby/object:Gem::Requirement
@@ -263,35 +291,21 @@ dependencies:
263
291
  requirements:
264
292
  - - "~>"
265
293
  - !ruby/object:Gem::Version
266
- version: 3.0.0
294
+ version: 3.2.0
267
295
  type: :development
268
296
  prerelease: false
269
297
  version_requirements: !ruby/object:Gem::Requirement
270
298
  requirements:
271
299
  - - "~>"
272
300
  - !ruby/object:Gem::Version
273
- version: 3.0.0
274
- - !ruby/object:Gem::Dependency
275
- name: irb
276
- requirement: !ruby/object:Gem::Requirement
277
- requirements:
278
- - - ">="
279
- - !ruby/object:Gem::Version
280
- version: '0'
281
- type: :development
282
- prerelease: false
283
- version_requirements: !ruby/object:Gem::Requirement
284
- requirements:
285
- - - ">="
286
- - !ruby/object:Gem::Version
287
- version: '0'
301
+ version: 3.2.0
288
302
  - !ruby/object:Gem::Dependency
289
303
  name: mdl
290
304
  requirement: !ruby/object:Gem::Requirement
291
305
  requirements:
292
306
  - - "~>"
293
307
  - !ruby/object:Gem::Version
294
- version: 0.13.0
308
+ version: 0.15.0
295
309
  - - ">="
296
310
  - !ruby/object:Gem::Version
297
311
  version: 0.12.0
@@ -301,7 +315,7 @@ dependencies:
301
315
  requirements:
302
316
  - - "~>"
303
317
  - !ruby/object:Gem::Version
304
- version: 0.13.0
318
+ version: 0.15.0
305
319
  - - ">="
306
320
  - !ruby/object:Gem::Version
307
321
  version: 0.12.0
@@ -311,68 +325,56 @@ dependencies:
311
325
  requirements:
312
326
  - - "~>"
313
327
  - !ruby/object:Gem::Version
314
- version: 5.26.0
315
- - - ">="
316
- - !ruby/object:Gem::Version
317
- version: 5.3.0
328
+ version: 6.0.0
318
329
  type: :development
319
330
  prerelease: false
320
331
  version_requirements: !ruby/object:Gem::Requirement
321
332
  requirements:
322
333
  - - "~>"
323
334
  - !ruby/object:Gem::Version
324
- version: 5.26.0
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: 5.3.0
335
+ version: 6.0.0
328
336
  - !ruby/object:Gem::Dependency
329
337
  name: minitest-around
330
338
  requirement: !ruby/object:Gem::Requirement
331
339
  requirements:
332
340
  - - "~>"
333
341
  - !ruby/object:Gem::Version
334
- version: 0.5.0
335
- - - ">="
336
- - !ruby/object:Gem::Version
337
- version: 0.4.0
342
+ version: 0.6.0
338
343
  type: :development
339
344
  prerelease: false
340
345
  version_requirements: !ruby/object:Gem::Requirement
341
346
  requirements:
342
347
  - - "~>"
343
348
  - !ruby/object:Gem::Version
344
- version: 0.5.0
345
- - - ">="
346
- - !ruby/object:Gem::Version
347
- version: 0.4.0
349
+ version: 0.6.0
348
350
  - !ruby/object:Gem::Dependency
349
- name: mocha
351
+ name: minitest-mock
350
352
  requirement: !ruby/object:Gem::Requirement
351
353
  requirements:
352
- - - "~>"
354
+ - - ">="
353
355
  - !ruby/object:Gem::Version
354
- version: 2.7.1
356
+ version: '0'
355
357
  type: :development
356
358
  prerelease: false
357
359
  version_requirements: !ruby/object:Gem::Requirement
358
360
  requirements:
359
- - - "~>"
361
+ - - ">="
360
362
  - !ruby/object:Gem::Version
361
- version: 2.7.1
363
+ version: '0'
362
364
  - !ruby/object:Gem::Dependency
363
- name: ostruct
365
+ name: mocha
364
366
  requirement: !ruby/object:Gem::Requirement
365
367
  requirements:
366
- - - ">="
368
+ - - "~>"
367
369
  - !ruby/object:Gem::Version
368
- version: '0'
370
+ version: 3.0.0
369
371
  type: :development
370
372
  prerelease: false
371
373
  version_requirements: !ruby/object:Gem::Requirement
372
374
  requirements:
373
- - - ">="
375
+ - - "~>"
374
376
  - !ruby/object:Gem::Version
375
- version: '0'
377
+ version: 3.0.0
376
378
  - !ruby/object:Gem::Dependency
377
379
  name: rake
378
380
  requirement: !ruby/object:Gem::Requirement
@@ -618,14 +620,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
618
620
  requirements:
619
621
  - - ">="
620
622
  - !ruby/object:Gem::Version
621
- version: 3.1.0
623
+ version: 3.2.0
622
624
  required_rubygems_version: !ruby/object:Gem::Requirement
623
625
  requirements:
624
626
  - - ">="
625
627
  - !ruby/object:Gem::Version
626
628
  version: '0'
627
629
  requirements: []
628
- rubygems_version: 3.6.2
630
+ rubygems_version: 4.0.3
629
631
  specification_version: 4
630
632
  summary: RubyCritic is a Ruby code quality reporter
631
633
  test_files: []