rubycritic 4.9.1 → 4.10.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 +19 -1
- data/README.md +3 -1
- data/lib/rubycritic/analysers/attributes.rb +1 -0
- data/lib/rubycritic/analysers/churn.rb +1 -0
- data/lib/rubycritic/analysers/complexity.rb +1 -0
- data/lib/rubycritic/analysers/coverage.rb +2 -2
- data/lib/rubycritic/analysers/helpers/reek.rb +5 -1
- data/lib/rubycritic/analysers/smells/flay.rb +1 -0
- data/lib/rubycritic/analysers/smells/flog.rb +1 -0
- data/lib/rubycritic/analysers/smells/reek.rb +1 -0
- data/lib/rubycritic/cli/options/file.rb +10 -10
- data/lib/rubycritic/commands/status_reporter.rb +2 -2
- data/lib/rubycritic/configuration.rb +2 -2
- data/lib/rubycritic/core/analysed_modules_collection.rb +2 -2
- data/lib/rubycritic/rake_task.rb +1 -1
- data/lib/rubycritic/source_control_systems/git/churn.rb +71 -11
- data/lib/rubycritic/source_control_systems/git.rb +23 -3
- data/lib/rubycritic/source_control_systems/mercurial.rb +2 -1
- data/lib/rubycritic/source_control_systems/perforce.rb +2 -0
- data/lib/rubycritic/version.rb +1 -1
- metadata +80 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffa925049a3ca35743b419abfa744f93b7a4c7f3a5c6ee702703eff959c05177
|
4
|
+
data.tar.gz: 1349a8bf0b72de99e5d7415dc3fd59dbacfe93683a20c5e7c25285243a11f28e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7487d521e1c7070d3cb30430e8d5ea023a2baad07a69a2d0e540ba28c014d7caef9b9727585b0731775281cde5a31f1f7a20fb46112e4eb86c6938f2b249fe2
|
7
|
+
data.tar.gz: eb343b8c57606946ccc3439275eb829c06cf52c3557f63661c85923a4b1a7babc587ba3bcdabf3297adc69a725ad62fde6c2cc0634890ba24176d89c599e9145
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,21 @@
|
|
1
|
-
# main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v4.9.
|
1
|
+
# main [(unreleased)](https://github.com/whitesmith/rubycritic/compare/v4.9.2...main)
|
2
|
+
|
3
|
+
# v4.10.0 / 2025-07-30 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.9.2...v4.10.0)
|
4
|
+
|
5
|
+
* [CHANGE] Bump aruba, byebug, cucumber, fakefs, rake, reek dependencies (by [@faisal][])
|
6
|
+
* [BUGFIX] Work around issue preventing feature execution on Ruby 3.5.0dev (by [@faisal][])
|
7
|
+
* [CHANGE] Add changes or suppress warnings for issues found by newer rubocop (by [@faisal][])
|
8
|
+
* [CHANGE] Update CI checkout action to v4 (by [@faisal][])
|
9
|
+
* [CHANGE] Run RubyCritic outside of the project without losing the churn value (by [@juanvqz][])
|
10
|
+
|
11
|
+
# v4.9.2 / 2025-04-08 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.9.1...v4.9.2)
|
12
|
+
|
13
|
+
* [CHANGE] Adds development dependency for gems removed from standard library in Ruby 3.5 -- ostruct, irb, rdoc (by [@faisal][])
|
14
|
+
* [CHANGE] Bump aruba, fakefs, minitest, mocha, reek, rubocop dependencies (by [@faisal][])
|
15
|
+
* [CHANGE] Loosen Rubocop dependency to pick up any new versions < 2.0 (by [@faisal][])
|
16
|
+
* [CHANGE] Add .solargraph.yml config file to enable Solargraph LSP use in editors such as BBedit (by [@faisal][])
|
17
|
+
* [CHANGE] Drop support for Ruby 2.7.x, 3.0.x (by [@faisal][])
|
18
|
+
* [CHANGE] Cache the reek configuration loading for faster execution (by [@raff-s][])
|
2
19
|
|
3
20
|
# v4.9.1 / 2024-04-14 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.9.0...v4.9.1)
|
4
21
|
|
@@ -449,3 +466,4 @@
|
|
449
466
|
[@Fito]: https://github.com/Fito
|
450
467
|
[@fbuys]: https://github.com/fbuys
|
451
468
|
[@exoego]: https://github.com/exoego
|
469
|
+
[@raff-s]: https://github.com/raff-s
|
data/README.md
CHANGED
@@ -246,6 +246,8 @@ RubyCritic is supporting Ruby versions:
|
|
246
246
|
| 2.7 | [v4.9.x](https://github.com/whitesmith/rubycritic/tree/v4.9.1) |
|
247
247
|
| 3.0 | latest |
|
248
248
|
| 3.1 | latest |
|
249
|
+
| 3.2 | latest |
|
250
|
+
| 3.3 | latest |
|
249
251
|
|
250
252
|
## Improving RubyCritic
|
251
253
|
|
@@ -263,7 +265,7 @@ See RubyCritic's [contributing guidelines](https://github.com/whitesmith/rubycri
|
|
263
265
|
|
264
266
|
The current core team consists of:
|
265
267
|
|
266
|
-
* [Nuno Silva](https://github.com/
|
268
|
+
* [Nuno Silva](https://github.com/nunosilva800)
|
267
269
|
* [Lucas Mazza](https://github.com/lucasmazza)
|
268
270
|
* [Timo Rößner](https://github.com/troessner)
|
269
271
|
|
@@ -88,13 +88,13 @@ module RubyCritic
|
|
88
88
|
|
89
89
|
# Ensure only one process is reading or writing the resultset at any
|
90
90
|
# given time
|
91
|
-
def synchronize_resultset(&
|
91
|
+
def synchronize_resultset(&)
|
92
92
|
# make it reentrant
|
93
93
|
return yield if defined?(@resultset_locked) && @resultset_locked == true
|
94
94
|
|
95
95
|
return yield unless File.exist?(resultset_writelock)
|
96
96
|
|
97
|
-
with_lock(&
|
97
|
+
with_lock(&)
|
98
98
|
end
|
99
99
|
|
100
100
|
def with_lock
|
@@ -4,8 +4,12 @@ require 'reek'
|
|
4
4
|
|
5
5
|
module RubyCritic
|
6
6
|
class Reek < ::Reek::Examiner
|
7
|
+
def self.configuration
|
8
|
+
@configuration ||= ::Reek::Configuration::AppConfiguration.from_default_path
|
9
|
+
end
|
10
|
+
|
7
11
|
def initialize(analysed_module)
|
8
|
-
super(analysed_module, configuration:
|
12
|
+
super(analysed_module, configuration: self.class.configuration)
|
9
13
|
end
|
10
14
|
end
|
11
15
|
end
|
@@ -24,11 +24,11 @@ module RubyCritic
|
|
24
24
|
root: root,
|
25
25
|
coverage_path: coverage_path,
|
26
26
|
formats: formats,
|
27
|
-
deduplicate_symlinks: deduplicate_symlinks
|
27
|
+
deduplicate_symlinks: deduplicate_symlinks?,
|
28
28
|
paths: paths,
|
29
|
-
suppress_ratings: suppress_ratings
|
29
|
+
suppress_ratings: suppress_ratings?,
|
30
30
|
minimum_score: minimum_score,
|
31
|
-
no_browser: no_browser
|
31
|
+
no_browser: no_browser?,
|
32
32
|
base_branch: base_branch,
|
33
33
|
feature_branch: feature_branch,
|
34
34
|
threshold_score: threshold_score
|
@@ -68,16 +68,16 @@ module RubyCritic
|
|
68
68
|
options['threshold_score']
|
69
69
|
end
|
70
70
|
|
71
|
-
def deduplicate_symlinks
|
72
|
-
value_for(options['deduplicate_symlinks'])
|
71
|
+
def deduplicate_symlinks?
|
72
|
+
value_for?(options['deduplicate_symlinks'])
|
73
73
|
end
|
74
74
|
|
75
|
-
def suppress_ratings
|
76
|
-
value_for(options['suppress_ratings'])
|
75
|
+
def suppress_ratings?
|
76
|
+
value_for?(options['suppress_ratings'])
|
77
77
|
end
|
78
78
|
|
79
|
-
def no_browser
|
80
|
-
value_for(options['no_browser'])
|
79
|
+
def no_browser?
|
80
|
+
value_for?(options['no_browser'])
|
81
81
|
end
|
82
82
|
|
83
83
|
def formats
|
@@ -96,7 +96,7 @@ module RubyCritic
|
|
96
96
|
options['paths']
|
97
97
|
end
|
98
98
|
|
99
|
-
def value_for(value)
|
99
|
+
def value_for?(value)
|
100
100
|
value = value.to_s
|
101
101
|
value == 'true' unless value.empty?
|
102
102
|
end
|
@@ -26,10 +26,10 @@ module RubyCritic
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def current_status
|
29
|
-
satisfy_minimum_score_rule ? SUCCESS : SCORE_BELOW_MINIMUM
|
29
|
+
satisfy_minimum_score_rule? ? SUCCESS : SCORE_BELOW_MINIMUM
|
30
30
|
end
|
31
31
|
|
32
|
-
def satisfy_minimum_score_rule
|
32
|
+
def satisfy_minimum_score_rule?
|
33
33
|
score >= @options[:minimum_score].to_f
|
34
34
|
end
|
35
35
|
|
@@ -70,9 +70,9 @@ module RubyCritic
|
|
70
70
|
!Config.no_browser && %i[compare_branches ci].include?(Config.mode)
|
71
71
|
end
|
72
72
|
|
73
|
-
def self.method_missing(method,
|
73
|
+
def self.method_missing(method, ...)
|
74
74
|
if configuration.respond_to?(method)
|
75
|
-
configuration.public_send(method,
|
75
|
+
configuration.public_send(method, ...)
|
76
76
|
else
|
77
77
|
super
|
78
78
|
end
|
data/lib/rubycritic/rake_task.rb
CHANGED
@@ -71,7 +71,7 @@ module RubyCritic
|
|
71
71
|
|
72
72
|
def print_starting_up_output
|
73
73
|
puts "\n\n!!! Running `#{name}` rake command\n"
|
74
|
-
puts "!!! Inspecting #{paths} #{
|
74
|
+
puts "!!! Inspecting #{paths} #{"with options #{options}" unless options.empty?}\n\n"
|
75
75
|
end
|
76
76
|
|
77
77
|
def options_as_arguments
|
@@ -20,12 +20,16 @@ module RubyCritic
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
# :reek:TooManyInstanceVariables
|
24
|
+
# rubocop:disable Metrics/ClassLength
|
23
25
|
class Churn
|
26
|
+
# :reek:TooManyStatements
|
24
27
|
def initialize(churn_after: nil, paths: ['.'])
|
25
28
|
@churn_after = churn_after
|
26
29
|
@paths = Array(paths)
|
27
30
|
@date = nil
|
28
31
|
@stats = {}
|
32
|
+
@git_root = find_git_root
|
29
33
|
|
30
34
|
call
|
31
35
|
end
|
@@ -40,16 +44,32 @@ module RubyCritic
|
|
40
44
|
|
41
45
|
private
|
42
46
|
|
47
|
+
# :reek:DuplicateMethodCall
|
48
|
+
def find_git_root
|
49
|
+
@paths.each do |path|
|
50
|
+
current_path = File.expand_path(path)
|
51
|
+
while current_path != File.dirname(current_path)
|
52
|
+
return current_path if Dir.exist?(File.join(current_path, '.git'))
|
53
|
+
|
54
|
+
current_path = File.dirname(current_path)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
Dir.pwd
|
58
|
+
end
|
59
|
+
|
43
60
|
def call
|
44
61
|
git_log_commands.each { |log_command| exec_git_command(log_command) }
|
45
62
|
end
|
46
63
|
|
47
64
|
def exec_git_command(command)
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
65
|
+
# Run git command from the git repository root
|
66
|
+
Dir.chdir(@git_root) do
|
67
|
+
Git
|
68
|
+
.git(command)
|
69
|
+
.split("\n")
|
70
|
+
.reject(&:empty?)
|
71
|
+
.each { |line| process_line(line) }
|
72
|
+
end
|
53
73
|
end
|
54
74
|
|
55
75
|
def git_log_commands
|
@@ -57,7 +77,20 @@ module RubyCritic
|
|
57
77
|
end
|
58
78
|
|
59
79
|
def git_log_command(path)
|
60
|
-
|
80
|
+
# Convert absolute paths to relative paths from git root
|
81
|
+
relative_path = make_relative_to_git_root(path)
|
82
|
+
"log --all --date=iso --follow --format='format:date:%x09%ad' --name-status #{after_clause}#{relative_path}"
|
83
|
+
end
|
84
|
+
|
85
|
+
def make_relative_to_git_root(path)
|
86
|
+
absolute_path = File.expand_path(path)
|
87
|
+
if absolute_path.start_with?(@git_root)
|
88
|
+
# Convert to relative path from git root
|
89
|
+
absolute_path[(@git_root.length + 1)..] || '.'
|
90
|
+
else
|
91
|
+
# If path is not within git root, use as is
|
92
|
+
path
|
93
|
+
end
|
61
94
|
end
|
62
95
|
|
63
96
|
def after_clause
|
@@ -87,13 +120,18 @@ module RubyCritic
|
|
87
120
|
process_file(to)
|
88
121
|
end
|
89
122
|
|
123
|
+
# :reek:DuplicateMethodCall
|
90
124
|
def filename_for_subdirectory(filename)
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
125
|
+
if @git_root == Dir.pwd
|
126
|
+
git_path = Git.git('rev-parse --show-toplevel')
|
127
|
+
cd_path = Dir.pwd
|
128
|
+
if cd_path.length > git_path.length
|
129
|
+
filename = filename.sub(/^#{Regexp.escape("#{File.basename(cd_path)}/")}/, '')
|
130
|
+
end
|
131
|
+
[filename]
|
132
|
+
else
|
133
|
+
filename
|
95
134
|
end
|
96
|
-
[filename]
|
97
135
|
end
|
98
136
|
|
99
137
|
def process_file(filename)
|
@@ -109,10 +147,32 @@ module RubyCritic
|
|
109
147
|
@renames ||= Renames.new
|
110
148
|
end
|
111
149
|
|
150
|
+
# :reek:TooManyStatements
|
151
|
+
# rubocop:disable Metrics/MethodLength
|
112
152
|
def stats(path)
|
153
|
+
# Try the path as-is first
|
154
|
+
result = @stats.fetch(path, nil)
|
155
|
+
return result if result
|
156
|
+
|
157
|
+
# If not found, try converting absolute path to relative path from git root
|
158
|
+
absolute_path = File.expand_path(path)
|
159
|
+
if absolute_path.start_with?(@git_root)
|
160
|
+
relative_path = absolute_path[(@git_root.length + 1)..]
|
161
|
+
return @stats.fetch(relative_path, Stats.new(0))
|
162
|
+
end
|
163
|
+
|
164
|
+
# If still not found, try converting relative path to absolute path
|
165
|
+
unless path.start_with?('/')
|
166
|
+
absolute_path = File.expand_path(path, @git_root)
|
167
|
+
return @stats.fetch(absolute_path, Stats.new(0))
|
168
|
+
end
|
169
|
+
|
170
|
+
# Default fallback
|
113
171
|
@stats.fetch(path, Stats.new(0))
|
114
172
|
end
|
173
|
+
# rubocop:enable Metrics/MethodLength
|
115
174
|
end
|
175
|
+
# rubocop:enable Metrics/ClassLength
|
116
176
|
end
|
117
177
|
end
|
118
178
|
end
|
@@ -21,8 +21,28 @@ module RubyCritic
|
|
21
21
|
self.class.git(arg)
|
22
22
|
end
|
23
23
|
|
24
|
+
# :reek:DuplicateMethodCall
|
25
|
+
# :reek:NilCheck
|
24
26
|
def self.supported?
|
25
|
-
git('branch 2>&1') && $CHILD_STATUS.success?
|
27
|
+
return true if git('branch 2>&1') && $CHILD_STATUS.success?
|
28
|
+
|
29
|
+
return false if Config.paths.nil? || Config.paths.empty?
|
30
|
+
|
31
|
+
Config.paths.any? do |path|
|
32
|
+
absolute_path = File.expand_path(path)
|
33
|
+
check_git_repository?(absolute_path)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# :reek:DuplicateMethodCall
|
38
|
+
def self.check_git_repository?(path)
|
39
|
+
current_path = File.expand_path(path)
|
40
|
+
while current_path != File.dirname(current_path)
|
41
|
+
return true if Dir.exist?(File.join(current_path, '.git'))
|
42
|
+
|
43
|
+
current_path = File.dirname(current_path)
|
44
|
+
end
|
45
|
+
false
|
26
46
|
end
|
27
47
|
|
28
48
|
def self.to_s
|
@@ -50,7 +70,7 @@ module RubyCritic
|
|
50
70
|
end
|
51
71
|
|
52
72
|
def travel_to_head
|
53
|
-
stash_successful = stash_changes
|
73
|
+
stash_successful = stash_changes?
|
54
74
|
yield
|
55
75
|
ensure
|
56
76
|
travel_to_original_state if stash_successful
|
@@ -88,7 +108,7 @@ module RubyCritic
|
|
88
108
|
|
89
109
|
private
|
90
110
|
|
91
|
-
def stash_changes
|
111
|
+
def stash_changes?
|
92
112
|
stashes_count_before = stashes_count
|
93
113
|
git('stash')
|
94
114
|
stashes_count_after = stashes_count
|
@@ -52,9 +52,11 @@ module RubyCritic
|
|
52
52
|
Time.strptime(perforce_files[Perforce.key_file(path)].last_commit, '%s').strftime('%Y-%m-%d %H:%M:%S %z')
|
53
53
|
end
|
54
54
|
|
55
|
+
# rubocop:disable Style/CollectionQuerying
|
55
56
|
def revision?
|
56
57
|
!perforce_files.values.count(&:opened?).zero?
|
57
58
|
end
|
59
|
+
# rubocop:enable Style/CollectionQuerying
|
58
60
|
|
59
61
|
def head_reference
|
60
62
|
perforce_files.values.map(&:head).max_by(&:to_i)
|
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.
|
4
|
+
version: 4.10.0
|
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: 2025-07-30 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.
|
61
|
+
version: 3.3.0.5
|
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.
|
68
|
+
version: 3.3.0.5
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rainbow
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,20 +86,20 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 6.5.0
|
90
90
|
- - "<"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '7.0'
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
99
|
+
version: 6.5.0
|
100
100
|
- - "<"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '7.0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rexml
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,14 +176,20 @@ dependencies:
|
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: 2.
|
179
|
+
version: 2.3.1
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 2.3.1
|
180
183
|
type: :development
|
181
184
|
prerelease: false
|
182
185
|
version_requirements: !ruby/object:Gem::Requirement
|
183
186
|
requirements:
|
184
187
|
- - "~>"
|
185
188
|
- !ruby/object:Gem::Version
|
186
|
-
version: 2.
|
189
|
+
version: 2.3.1
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 2.3.1
|
187
193
|
- !ruby/object:Gem::Dependency
|
188
194
|
name: bundler
|
189
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,7 +210,7 @@ dependencies:
|
|
204
210
|
requirements:
|
205
211
|
- - "~>"
|
206
212
|
- !ruby/object:Gem::Version
|
207
|
-
version: '
|
213
|
+
version: '12.0'
|
208
214
|
- - ">="
|
209
215
|
- !ruby/object:Gem::Version
|
210
216
|
version: '10.0'
|
@@ -214,7 +220,7 @@ dependencies:
|
|
214
220
|
requirements:
|
215
221
|
- - "~>"
|
216
222
|
- !ruby/object:Gem::Version
|
217
|
-
version: '
|
223
|
+
version: '12.0'
|
218
224
|
- - ">="
|
219
225
|
- !ruby/object:Gem::Version
|
220
226
|
version: '10.0'
|
@@ -224,7 +230,7 @@ dependencies:
|
|
224
230
|
requirements:
|
225
231
|
- - "~>"
|
226
232
|
- !ruby/object:Gem::Version
|
227
|
-
version:
|
233
|
+
version: 10.0.0
|
228
234
|
- - "!="
|
229
235
|
- !ruby/object:Gem::Version
|
230
236
|
version: 9.0.0
|
@@ -234,7 +240,7 @@ dependencies:
|
|
234
240
|
requirements:
|
235
241
|
- - "~>"
|
236
242
|
- !ruby/object:Gem::Version
|
237
|
-
version:
|
243
|
+
version: 10.0.0
|
238
244
|
- - "!="
|
239
245
|
- !ruby/object:Gem::Version
|
240
246
|
version: 9.0.0
|
@@ -258,14 +264,28 @@ dependencies:
|
|
258
264
|
requirements:
|
259
265
|
- - "~>"
|
260
266
|
- !ruby/object:Gem::Version
|
261
|
-
version:
|
267
|
+
version: 3.0.0
|
262
268
|
type: :development
|
263
269
|
prerelease: false
|
264
270
|
version_requirements: !ruby/object:Gem::Requirement
|
265
271
|
requirements:
|
266
272
|
- - "~>"
|
267
273
|
- !ruby/object:Gem::Version
|
268
|
-
version:
|
274
|
+
version: 3.0.0
|
275
|
+
- !ruby/object:Gem::Dependency
|
276
|
+
name: irb
|
277
|
+
requirement: !ruby/object:Gem::Requirement
|
278
|
+
requirements:
|
279
|
+
- - ">="
|
280
|
+
- !ruby/object:Gem::Version
|
281
|
+
version: '0'
|
282
|
+
type: :development
|
283
|
+
prerelease: false
|
284
|
+
version_requirements: !ruby/object:Gem::Requirement
|
285
|
+
requirements:
|
286
|
+
- - ">="
|
287
|
+
- !ruby/object:Gem::Version
|
288
|
+
version: '0'
|
269
289
|
- !ruby/object:Gem::Dependency
|
270
290
|
name: mdl
|
271
291
|
requirement: !ruby/object:Gem::Requirement
|
@@ -292,7 +312,7 @@ dependencies:
|
|
292
312
|
requirements:
|
293
313
|
- - "~>"
|
294
314
|
- !ruby/object:Gem::Version
|
295
|
-
version: 5.
|
315
|
+
version: 5.25.2
|
296
316
|
- - ">="
|
297
317
|
- !ruby/object:Gem::Version
|
298
318
|
version: 5.3.0
|
@@ -302,7 +322,7 @@ dependencies:
|
|
302
322
|
requirements:
|
303
323
|
- - "~>"
|
304
324
|
- !ruby/object:Gem::Version
|
305
|
-
version: 5.
|
325
|
+
version: 5.25.2
|
306
326
|
- - ">="
|
307
327
|
- !ruby/object:Gem::Version
|
308
328
|
version: 5.3.0
|
@@ -332,21 +352,35 @@ dependencies:
|
|
332
352
|
requirements:
|
333
353
|
- - "~>"
|
334
354
|
- !ruby/object:Gem::Version
|
335
|
-
version: 2.
|
355
|
+
version: 2.7.1
|
336
356
|
type: :development
|
337
357
|
prerelease: false
|
338
358
|
version_requirements: !ruby/object:Gem::Requirement
|
339
359
|
requirements:
|
340
360
|
- - "~>"
|
341
361
|
- !ruby/object:Gem::Version
|
342
|
-
version: 2.
|
362
|
+
version: 2.7.1
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: ostruct
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - ">="
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: '0'
|
370
|
+
type: :development
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - ">="
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: '0'
|
343
377
|
- !ruby/object:Gem::Dependency
|
344
378
|
name: rake
|
345
379
|
requirement: !ruby/object:Gem::Requirement
|
346
380
|
requirements:
|
347
381
|
- - "~>"
|
348
382
|
- !ruby/object:Gem::Version
|
349
|
-
version: 13.
|
383
|
+
version: 13.3.0
|
350
384
|
- - ">="
|
351
385
|
- !ruby/object:Gem::Version
|
352
386
|
version: 11.0.0
|
@@ -356,10 +390,24 @@ dependencies:
|
|
356
390
|
requirements:
|
357
391
|
- - "~>"
|
358
392
|
- !ruby/object:Gem::Version
|
359
|
-
version: 13.
|
393
|
+
version: 13.3.0
|
360
394
|
- - ">="
|
361
395
|
- !ruby/object:Gem::Version
|
362
396
|
version: 11.0.0
|
397
|
+
- !ruby/object:Gem::Dependency
|
398
|
+
name: rdoc
|
399
|
+
requirement: !ruby/object:Gem::Requirement
|
400
|
+
requirements:
|
401
|
+
- - ">="
|
402
|
+
- !ruby/object:Gem::Version
|
403
|
+
version: '0'
|
404
|
+
type: :development
|
405
|
+
prerelease: false
|
406
|
+
version_requirements: !ruby/object:Gem::Requirement
|
407
|
+
requirements:
|
408
|
+
- - ">="
|
409
|
+
- !ruby/object:Gem::Version
|
410
|
+
version: '0'
|
363
411
|
- !ruby/object:Gem::Dependency
|
364
412
|
name: rexml
|
365
413
|
requirement: !ruby/object:Gem::Requirement
|
@@ -378,22 +426,22 @@ dependencies:
|
|
378
426
|
name: rubocop
|
379
427
|
requirement: !ruby/object:Gem::Requirement
|
380
428
|
requirements:
|
381
|
-
- - "~>"
|
382
|
-
- !ruby/object:Gem::Version
|
383
|
-
version: 1.59.0
|
384
429
|
- - ">="
|
385
430
|
- !ruby/object:Gem::Version
|
386
|
-
version: 1.
|
431
|
+
version: 1.72.0
|
432
|
+
- - "<"
|
433
|
+
- !ruby/object:Gem::Version
|
434
|
+
version: '2.0'
|
387
435
|
type: :development
|
388
436
|
prerelease: false
|
389
437
|
version_requirements: !ruby/object:Gem::Requirement
|
390
438
|
requirements:
|
391
|
-
- - "~>"
|
392
|
-
- !ruby/object:Gem::Version
|
393
|
-
version: 1.59.0
|
394
439
|
- - ">="
|
395
440
|
- !ruby/object:Gem::Version
|
396
|
-
version: 1.
|
441
|
+
version: 1.72.0
|
442
|
+
- - "<"
|
443
|
+
- !ruby/object:Gem::Version
|
444
|
+
version: '2.0'
|
397
445
|
- !ruby/object:Gem::Dependency
|
398
446
|
name: rubocop-minitest
|
399
447
|
requirement: !ruby/object:Gem::Requirement
|
@@ -572,14 +620,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
572
620
|
requirements:
|
573
621
|
- - ">="
|
574
622
|
- !ruby/object:Gem::Version
|
575
|
-
version:
|
623
|
+
version: 3.1.0
|
576
624
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
577
625
|
requirements:
|
578
626
|
- - ">="
|
579
627
|
- !ruby/object:Gem::Version
|
580
628
|
version: '0'
|
581
629
|
requirements: []
|
582
|
-
rubygems_version: 3.
|
630
|
+
rubygems_version: 3.5.22
|
583
631
|
signing_key:
|
584
632
|
specification_version: 4
|
585
633
|
summary: RubyCritic is a Ruby code quality reporter
|