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 +4 -4
- data/CHANGELOG.md +27 -2
- data/README.md +5 -3
- data/lib/rubycritic/analysers/helpers/flog.rb +1 -1
- data/lib/rubycritic/analysers/helpers/parser.rb +17 -4
- data/lib/rubycritic/analysers/smells/reek.rb +4 -1
- data/lib/rubycritic/generators/html/line.rb +1 -1
- data/lib/rubycritic/version.rb +1 -1
- metadata +58 -56
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: faf800c38a9effa550ed2046528f3cd8b6692da9fbe1b876e083e161ccc1e78e
|
|
4
|
+
data.tar.gz: fdfcda8744011dab4554f8704806bfefb7bc4d7dc4f63a00b7be1b74dcad3f55
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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/
|
|
1
|
+
# main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v5.0.0...main)
|
|
2
2
|
|
|
3
|
-
*
|
|
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.
|
|
248
|
-
| 3.0 |
|
|
249
|
-
| 3.1 |
|
|
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
|
|
|
@@ -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
|
-
|
|
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
|
data/lib/rubycritic/version.rb
CHANGED
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
|
+
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:
|
|
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: '
|
|
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: '
|
|
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.
|
|
233
|
-
- - "
|
|
260
|
+
version: 10.2.0
|
|
261
|
+
- - ">="
|
|
234
262
|
- !ruby/object:Gem::Version
|
|
235
|
-
version:
|
|
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.
|
|
243
|
-
- - "
|
|
270
|
+
version: 10.2.0
|
|
271
|
+
- - ">="
|
|
244
272
|
- !ruby/object:Gem::Version
|
|
245
|
-
version:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
345
|
-
- - ">="
|
|
346
|
-
- !ruby/object:Gem::Version
|
|
347
|
-
version: 0.4.0
|
|
349
|
+
version: 0.6.0
|
|
348
350
|
- !ruby/object:Gem::Dependency
|
|
349
|
-
name:
|
|
351
|
+
name: minitest-mock
|
|
350
352
|
requirement: !ruby/object:Gem::Requirement
|
|
351
353
|
requirements:
|
|
352
|
-
- - "
|
|
354
|
+
- - ">="
|
|
353
355
|
- !ruby/object:Gem::Version
|
|
354
|
-
version:
|
|
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:
|
|
363
|
+
version: '0'
|
|
362
364
|
- !ruby/object:Gem::Dependency
|
|
363
|
-
name:
|
|
365
|
+
name: mocha
|
|
364
366
|
requirement: !ruby/object:Gem::Requirement
|
|
365
367
|
requirements:
|
|
366
|
-
- - "
|
|
368
|
+
- - "~>"
|
|
367
369
|
- !ruby/object:Gem::Version
|
|
368
|
-
version:
|
|
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:
|
|
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.
|
|
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:
|
|
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: []
|