rubycritic 4.9.0 → 4.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -3
- data/README.md +29 -25
- data/lib/rubycritic/analysers/coverage.rb +4 -5
- data/lib/rubycritic/cli/options/argv.rb +5 -1
- data/lib/rubycritic/cli/options/file.rb +5 -0
- data/lib/rubycritic/configuration.rb +2 -1
- data/lib/rubycritic/version.rb +1 -1
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bea0ead82dce8ce7d27a1421044b70841199150f37e2293c41046ed4f96e50a
|
4
|
+
data.tar.gz: ef72c2062593c9c8cccea0c01e3f06904051c48de42ee55b3f0a2b672bf1186e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57279fe99d97710ee3e5371adf8b001f8d4f272a69b9e1cb4ef06083404d8e3d5ce4c10671f59a8e2a3f5728d46b3f12fa7a77a41510a9d9618caee2745b338e
|
7
|
+
data.tar.gz: b1e216cf37893fcc573ece5d68e137f47797b490da322efed18e8ef060ef9935ba38be5a68fd293f516840ee942b25426f97487d4c97155f962f23f138498469
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
# main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v4.9.
|
1
|
+
# main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v4.9.1...main)
|
2
|
+
|
3
|
+
# v4.9.1 / 2024-04-14 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.9.0...v4.9.1)
|
4
|
+
|
5
|
+
* [CHANGE] Bump cucumber, minitest, parser, rake, reek, rubocop, and ruby_parser dependencies (by [@faisal][])
|
6
|
+
* [CHANGE] Fix some typos (by [@jbampton][])
|
7
|
+
* [FEATURE] Add coverage_path configuration option (by [@exoego][])
|
2
8
|
|
3
9
|
# v4.9.0 / 2023-10-18 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.8.1...v4.9.0)
|
4
10
|
|
@@ -103,7 +109,7 @@
|
|
103
109
|
|
104
110
|
# v4.3.0 / 2019-12-26 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.2.2...v4.3.0)
|
105
111
|
|
106
|
-
* [FEATURE] Show which files are
|
112
|
+
* [FEATURE] Show which files are uncommitted in git (by [@GeoffTidey][])
|
107
113
|
* [BUGFIX] Fixes TypeError when `.resultset.json` is not found (by [@etagwerker][])
|
108
114
|
|
109
115
|
# v4.2.2 / 2019-11-12 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.2.1...v4.2.2)
|
@@ -341,7 +347,7 @@
|
|
341
347
|
|
342
348
|
* [FEATURE] Add CI mode that only analyses the last commit
|
343
349
|
* [FEATURE] Add partial support for Mercurial
|
344
|
-
* [FEATURE] Allow using RubyCritic
|
350
|
+
* [FEATURE] Allow using RubyCritic programmatically
|
345
351
|
* [CHANGE] Update to Reek 1.6.0 (from 1.3.8)
|
346
352
|
* [BUGFIX] Fix issue #18 - Prevent encoding issues when using Git
|
347
353
|
|
@@ -442,3 +448,4 @@
|
|
442
448
|
[@96RadhikaJadhav]: https://github.com/96RadhikaJadhav
|
443
449
|
[@Fito]: https://github.com/Fito
|
444
450
|
[@fbuys]: https://github.com/fbuys
|
451
|
+
[@exoego]: https://github.com/exoego
|
data/README.md
CHANGED
@@ -10,17 +10,19 @@ RubyCritic is a gem that wraps around static analysis gems such as [Reek][1], [F
|
|
10
10
|
|
11
11
|
## Table of Contents
|
12
12
|
|
13
|
-
- [
|
14
|
-
- [
|
15
|
-
- [
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
- [
|
20
|
-
- [
|
21
|
-
- [
|
22
|
-
- [
|
23
|
-
- [
|
13
|
+
- [RubyCritic](#rubycritic)
|
14
|
+
- [Table of Contents](#table-of-contents)
|
15
|
+
- [Overview](#overview)
|
16
|
+
- [Getting Started](#getting-started)
|
17
|
+
- [Usage](#usage)
|
18
|
+
- [Analyzer Configuration](#analyzer-configuration)
|
19
|
+
- [Alternative Usage Methods](#alternative-usage-methods)
|
20
|
+
- [Rake Task](#rake-task)
|
21
|
+
- [Formatters](#formatters)
|
22
|
+
- [Compatibility](#compatibility)
|
23
|
+
- [Improving RubyCritic](#improving-rubycritic)
|
24
|
+
- [Contributors](#contributors)
|
25
|
+
- [Credits](#credits)
|
24
26
|
|
25
27
|
## Overview
|
26
28
|
|
@@ -107,19 +109,20 @@ For a full list of the command-line options run:
|
|
107
109
|
$ rubycritic --help
|
108
110
|
```
|
109
111
|
|
110
|
-
| Command flag
|
111
|
-
|
112
|
-
| `-v` / `--version`
|
113
|
-
| `-p` / `--path`
|
114
|
-
|
|
115
|
-
| `--
|
116
|
-
|
|
117
|
-
| `-
|
118
|
-
| `-
|
119
|
-
| `-
|
120
|
-
| `--
|
121
|
-
| `--
|
122
|
-
| `--
|
112
|
+
| Command flag | Description |
|
113
|
+
|----------------------------------|-----------------------------------------------------------------|
|
114
|
+
| `-v` / `--version` | Displays the current version and exits |
|
115
|
+
| `-p` / `--path` | Set path where report will be saved (tmp/rubycritic by default) |
|
116
|
+
| `--coverage-path` | Set path where SimpleCov will be saved (./coverage by default) |
|
117
|
+
| `-f` / `--format` | Report smells in the given format(s)<sup>1</sup> |
|
118
|
+
| `--custom-format path:classname` | Load and instantiate custom formatter(s)<sup>2</sup> |
|
119
|
+
| `-s` / `--minimum-score` | Set a minimum score (FLOAT: ex: 96.28), default: 0 |
|
120
|
+
| `-m` / `--mode-ci` | Use CI mode<sup>3</sup> |
|
121
|
+
| `-b` / `--branch` | Set branch to compare |
|
122
|
+
| `-t` / `--maximum-decrease` | Threshold for score difference between two branches<sup>4</sup> |
|
123
|
+
| `--deduplicate-symlinks` | De-duplicate symlinks based on their final target |
|
124
|
+
| `--suppress-ratings` | Suppress letter ratings |
|
125
|
+
| `--no-browser` | Do not open html report with browser |
|
123
126
|
|
124
127
|
1. Available output formats:
|
125
128
|
- `html` (default; will open in a browser)
|
@@ -140,6 +143,7 @@ mode_ci:
|
|
140
143
|
branch: 'production' # default is main
|
141
144
|
branch: 'production' # default is main
|
142
145
|
path: '/tmp/mycustompath' # Set path where report will be saved (tmp/rubycritic by default)
|
146
|
+
coverage_path: '/tmp/coverage' # Set path where SimpleCov coverage will be saved (./coverage by default)
|
143
147
|
threshold_score: 10 # default is 0
|
144
148
|
deduplicate_symlinks: true # default is false
|
145
149
|
suppress_ratings: true # default is false
|
@@ -239,7 +243,7 @@ RubyCritic is supporting Ruby versions:
|
|
239
243
|
| 2.4 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
|
240
244
|
| 2.5 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
|
241
245
|
| 2.6 | [v4.7.0](https://github.com/whitesmith/rubycritic/tree/v4.7.0) |
|
242
|
-
| 2.7 |
|
246
|
+
| 2.7 | [v4.9.x](https://github.com/whitesmith/rubycritic/tree/v4.9.1) |
|
243
247
|
| 3.0 | latest |
|
244
248
|
| 3.1 | latest |
|
245
249
|
|
@@ -48,6 +48,9 @@ module RubyCritic
|
|
48
48
|
|
49
49
|
# The path to the cache file
|
50
50
|
def resultset_path
|
51
|
+
if (cp = Config.coverage_path)
|
52
|
+
SimpleCov.coverage_dir(cp)
|
53
|
+
end
|
51
54
|
File.join(SimpleCov.coverage_path, RESULTSET_FILENAME)
|
52
55
|
end
|
53
56
|
|
@@ -112,11 +115,7 @@ module RubyCritic
|
|
112
115
|
if Gem.loaded_specs['simplecov'].version >= Gem::Version.new('0.19')
|
113
116
|
::SimpleCov::Result.from_hash(resultset)
|
114
117
|
else
|
115
|
-
|
116
|
-
resultset.each do |command_name, data|
|
117
|
-
array << ::SimpleCov::Result.from_hash(command_name => data)
|
118
|
-
end
|
119
|
-
array
|
118
|
+
resultset.map { |command_name, data| ::SimpleCov::Result.from_hash(command_name => data) }
|
120
119
|
end
|
121
120
|
end
|
122
121
|
end
|
@@ -95,6 +95,10 @@ module RubyCritic
|
|
95
95
|
self.no_browser = true
|
96
96
|
end
|
97
97
|
|
98
|
+
opts.on('--coverage-path [PATH]', 'SimpleCov coverage will be saved (./coverage by default)') do |path|
|
99
|
+
@coverage_path = path
|
100
|
+
end
|
101
|
+
|
98
102
|
opts.on_tail('-v', '--version', "Show gem's version") do
|
99
103
|
self.mode = :version
|
100
104
|
end
|
@@ -129,7 +133,7 @@ module RubyCritic
|
|
129
133
|
|
130
134
|
attr_accessor :mode, :root, :formats, :formatters, :deduplicate_symlinks,
|
131
135
|
:suppress_ratings, :minimum_score, :churn_after, :no_browser,
|
132
|
-
:parser, :base_branch, :feature_branch, :threshold_score
|
136
|
+
:parser, :base_branch, :feature_branch, :threshold_score, :coverage_path
|
133
137
|
|
134
138
|
def paths
|
135
139
|
@argv unless @argv.empty?
|
@@ -22,6 +22,7 @@ module RubyCritic
|
|
22
22
|
{
|
23
23
|
mode: mode,
|
24
24
|
root: root,
|
25
|
+
coverage_path: coverage_path,
|
25
26
|
formats: formats,
|
26
27
|
deduplicate_symlinks: deduplicate_symlinks,
|
27
28
|
paths: paths,
|
@@ -59,6 +60,10 @@ module RubyCritic
|
|
59
60
|
options['path']
|
60
61
|
end
|
61
62
|
|
63
|
+
def coverage_path
|
64
|
+
options['coverage_path']
|
65
|
+
end
|
66
|
+
|
62
67
|
def threshold_score
|
63
68
|
options['threshold_score']
|
64
69
|
end
|
@@ -6,7 +6,7 @@ module RubyCritic
|
|
6
6
|
class Configuration
|
7
7
|
attr_reader :root
|
8
8
|
attr_accessor :source_control_system, :mode, :formats, :formatters, :deduplicate_symlinks,
|
9
|
-
:suppress_ratings, :open_with, :no_browser, :base_branch,
|
9
|
+
:suppress_ratings, :open_with, :no_browser, :base_branch, :coverage_path,
|
10
10
|
:feature_branch, :base_branch_score, :feature_branch_score,
|
11
11
|
:base_root_directory, :feature_root_directory,
|
12
12
|
:compare_root_directory, :threshold_score, :base_branch_collection,
|
@@ -19,6 +19,7 @@ module RubyCritic
|
|
19
19
|
self.suppress_ratings = options[:suppress_ratings]
|
20
20
|
self.open_with = options[:open_with]
|
21
21
|
self.no_browser = options[:no_browser]
|
22
|
+
self.coverage_path = options[:coverage_path]
|
22
23
|
self.threshold_score = options[:threshold_score].to_i
|
23
24
|
setup_analysis_targets(options)
|
24
25
|
setup_version_control(options)
|
data/lib/rubycritic/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycritic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.9.
|
4
|
+
version: 4.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guilherme Simoes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: flay
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.2.2.
|
61
|
+
version: 3.2.2.4
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.2.2.
|
68
|
+
version: 3.2.2.4
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rainbow
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
version: '6.0'
|
90
90
|
- - "<"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '6.2'
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: '6.0'
|
100
100
|
- - "<"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '6.2'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rexml
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +120,14 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '3.
|
123
|
+
version: '3.21'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '3.
|
130
|
+
version: '3.21'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: simplecov
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,7 +224,7 @@ dependencies:
|
|
224
224
|
requirements:
|
225
225
|
- - "~>"
|
226
226
|
- !ruby/object:Gem::Version
|
227
|
-
version: 9.0
|
227
|
+
version: 9.2.0
|
228
228
|
- - "!="
|
229
229
|
- !ruby/object:Gem::Version
|
230
230
|
version: 9.0.0
|
@@ -234,7 +234,7 @@ dependencies:
|
|
234
234
|
requirements:
|
235
235
|
- - "~>"
|
236
236
|
- !ruby/object:Gem::Version
|
237
|
-
version: 9.0
|
237
|
+
version: 9.2.0
|
238
238
|
- - "!="
|
239
239
|
- !ruby/object:Gem::Version
|
240
240
|
version: 9.0.0
|
@@ -292,7 +292,7 @@ dependencies:
|
|
292
292
|
requirements:
|
293
293
|
- - "~>"
|
294
294
|
- !ruby/object:Gem::Version
|
295
|
-
version: 5.
|
295
|
+
version: 5.22.2
|
296
296
|
- - ">="
|
297
297
|
- !ruby/object:Gem::Version
|
298
298
|
version: 5.3.0
|
@@ -302,7 +302,7 @@ dependencies:
|
|
302
302
|
requirements:
|
303
303
|
- - "~>"
|
304
304
|
- !ruby/object:Gem::Version
|
305
|
-
version: 5.
|
305
|
+
version: 5.22.2
|
306
306
|
- - ">="
|
307
307
|
- !ruby/object:Gem::Version
|
308
308
|
version: 5.3.0
|
@@ -332,21 +332,21 @@ dependencies:
|
|
332
332
|
requirements:
|
333
333
|
- - "~>"
|
334
334
|
- !ruby/object:Gem::Version
|
335
|
-
version: 2.
|
335
|
+
version: 2.2.0
|
336
336
|
type: :development
|
337
337
|
prerelease: false
|
338
338
|
version_requirements: !ruby/object:Gem::Requirement
|
339
339
|
requirements:
|
340
340
|
- - "~>"
|
341
341
|
- !ruby/object:Gem::Version
|
342
|
-
version: 2.
|
342
|
+
version: 2.2.0
|
343
343
|
- !ruby/object:Gem::Dependency
|
344
344
|
name: rake
|
345
345
|
requirement: !ruby/object:Gem::Requirement
|
346
346
|
requirements:
|
347
347
|
- - "~>"
|
348
348
|
- !ruby/object:Gem::Version
|
349
|
-
version: 13.0
|
349
|
+
version: 13.2.0
|
350
350
|
- - ">="
|
351
351
|
- !ruby/object:Gem::Version
|
352
352
|
version: 11.0.0
|
@@ -356,7 +356,7 @@ dependencies:
|
|
356
356
|
requirements:
|
357
357
|
- - "~>"
|
358
358
|
- !ruby/object:Gem::Version
|
359
|
-
version: 13.0
|
359
|
+
version: 13.2.0
|
360
360
|
- - ">="
|
361
361
|
- !ruby/object:Gem::Version
|
362
362
|
version: 11.0.0
|
@@ -380,7 +380,7 @@ dependencies:
|
|
380
380
|
requirements:
|
381
381
|
- - "~>"
|
382
382
|
- !ruby/object:Gem::Version
|
383
|
-
version: 1.
|
383
|
+
version: 1.59.0
|
384
384
|
- - ">="
|
385
385
|
- !ruby/object:Gem::Version
|
386
386
|
version: 1.54.0
|
@@ -390,7 +390,7 @@ dependencies:
|
|
390
390
|
requirements:
|
391
391
|
- - "~>"
|
392
392
|
- !ruby/object:Gem::Version
|
393
|
-
version: 1.
|
393
|
+
version: 1.59.0
|
394
394
|
- - ">="
|
395
395
|
- !ruby/object:Gem::Version
|
396
396
|
version: 1.54.0
|
@@ -579,7 +579,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
579
579
|
- !ruby/object:Gem::Version
|
580
580
|
version: '0'
|
581
581
|
requirements: []
|
582
|
-
rubygems_version: 3.
|
582
|
+
rubygems_version: 3.4.19
|
583
583
|
signing_key:
|
584
584
|
specification_version: 4
|
585
585
|
summary: RubyCritic is a Ruby code quality reporter
|