gitlab-styles 4.2.0 → 5.3.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/.editorconfig +18 -0
- data/.gitlab-ci.yml +5 -16
- data/.gitlab/merge_request_templates/New Static Analysis Check.md +21 -0
- data/.gitlab/merge_request_templates/Release.md +4 -4
- data/.rubocop.yml +3 -1
- data/Gemfile +2 -2
- data/gitlab-styles.gemspec +6 -5
- data/lib/gitlab/styles/rubocop.rb +3 -14
- data/lib/gitlab/styles/rubocop/cop/active_record_dependent.rb +1 -1
- data/lib/gitlab/styles/rubocop/cop/code_reuse/active_record.rb +131 -0
- data/lib/gitlab/styles/rubocop/cop/custom_error_class.rb +6 -3
- data/lib/gitlab/styles/rubocop/cop/gem_fetcher.rb +1 -1
- data/lib/gitlab/styles/rubocop/cop/line_break_after_guard_clauses.rb +1 -1
- data/lib/gitlab/styles/rubocop/cop/line_break_around_conditional_block.rb +132 -0
- data/lib/gitlab/styles/rubocop/cop/migration/update_large_table.rb +1 -1
- data/lib/gitlab/styles/rubocop/cop/polymorphic_associations.rb +1 -1
- data/lib/gitlab/styles/rubocop/cop/rspec/base.rb +18 -0
- data/lib/gitlab/styles/rubocop/cop/rspec/empty_line_after_let_block.rb +65 -0
- data/lib/gitlab/styles/rubocop/cop/rspec/empty_line_after_shared_example.rb +6 -6
- data/lib/gitlab/styles/rubocop/cop/rspec/example_starting_character.rb +124 -0
- data/lib/gitlab/styles/rubocop/cop/rspec/have_link_parameters.rb +10 -5
- data/lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb +3 -2
- data/lib/gitlab/styles/rubocop/cop/rspec/verbose_include_metadata.rb +10 -13
- data/lib/gitlab/styles/rubocop/model_helpers.rb +1 -1
- data/lib/gitlab/styles/rubocop/rspec/helpers.rb +17 -0
- data/lib/gitlab/styles/version.rb +1 -1
- data/rubocop-all.yml +1 -0
- data/rubocop-bundler.yml +1 -0
- data/rubocop-code_reuse.yml +24 -0
- data/rubocop-default.yml +1 -0
- data/rubocop-gemspec.yml +1 -0
- data/rubocop-layout.yml +6 -0
- data/rubocop-lint.yml +63 -5
- data/rubocop-metrics.yml +1 -0
- data/rubocop-migrations.yml +1 -0
- data/rubocop-naming.yml +1 -0
- data/rubocop-performance.yml +48 -0
- data/rubocop-rails.yml +79 -0
- data/rubocop-rspec.yml +10 -0
- data/rubocop-security.yml +1 -0
- data/rubocop-style.yml +91 -1
- metadata +23 -15
- data/.rubocop_todo.yml +0 -7
data/rubocop-default.yml
CHANGED
data/rubocop-gemspec.yml
CHANGED
data/rubocop-layout.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
# Check indentation of private/protected visibility modifiers.
|
2
3
|
Layout/AccessModifierIndentation:
|
3
4
|
Enabled: true
|
@@ -60,6 +61,11 @@ Layout/EmptyLines:
|
|
60
61
|
Layout/EmptyLinesAroundAccessModifier:
|
61
62
|
Enabled: true
|
62
63
|
|
64
|
+
# Checks for a newline after an attribute accessor or a group of them
|
65
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_layout.html#layoutemptylinesaroundattributeaccessor
|
66
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
67
|
+
Enabled: true
|
68
|
+
|
63
69
|
# Keeps track of empty lines around block bodies.
|
64
70
|
Layout/EmptyLinesAroundBlockBody:
|
65
71
|
Enabled: true
|
data/rubocop-lint.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
# Checks for ambiguous block association with method when param passed without
|
2
3
|
# parentheses.
|
3
4
|
Lint/AmbiguousBlockAssociation:
|
@@ -18,6 +19,10 @@ Lint/AmbiguousRegexpLiteral:
|
|
18
19
|
Lint/AssignmentInCondition:
|
19
20
|
Enabled: false
|
20
21
|
|
22
|
+
# Checks for places where binary operator has identical operands
|
23
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
24
|
+
Enabled: true
|
25
|
+
|
21
26
|
# Default values in optional keyword arguments and optional ordinal arguments
|
22
27
|
# should not refer back to the name of the argument.
|
23
28
|
Lint/CircularArgumentReference:
|
@@ -31,6 +36,22 @@ Lint/Debugger:
|
|
31
36
|
Lint/DeprecatedClassMethods:
|
32
37
|
Enabled: true
|
33
38
|
|
39
|
+
# Algorithmic constants for OpenSSL::Cipher and OpenSSL::Digest deprecated since OpenSSL version 2.2.0.
|
40
|
+
# Prefer passing a string instead.
|
41
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintdeprecatedopensslconstant
|
42
|
+
Lint/DeprecatedOpenSSLConstant:
|
43
|
+
Enabled: true
|
44
|
+
|
45
|
+
# Checks that there are no repeated conditions used in if 'elsif'.
|
46
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintduplicateelsifcondition
|
47
|
+
Lint/DuplicateElsifCondition:
|
48
|
+
Enabled: true
|
49
|
+
|
50
|
+
# Checks that there are no repeated exceptions used in 'rescue' expressions.
|
51
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintduplicaterescueexception
|
52
|
+
Lint/DuplicateRescueException:
|
53
|
+
Enabled: true
|
54
|
+
|
34
55
|
# Check for immutable argument given to each_with_object.
|
35
56
|
Lint/EachWithObjectArgument:
|
36
57
|
Enabled: true
|
@@ -39,6 +60,11 @@ Lint/EachWithObjectArgument:
|
|
39
60
|
Lint/ElseLayout:
|
40
61
|
Enabled: true
|
41
62
|
|
63
|
+
# Checks for the presence of if, elsif and unless branches without a body.
|
64
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintemptyconditionalbody
|
65
|
+
Lint/EmptyConditionalBody:
|
66
|
+
Enabled: true
|
67
|
+
|
42
68
|
# Checks for empty ensure block.
|
43
69
|
Lint/EmptyEnsure:
|
44
70
|
Enabled: true
|
@@ -55,6 +81,11 @@ Lint/EnsureReturn:
|
|
55
81
|
Lint/FlipFlop:
|
56
82
|
Enabled: true
|
57
83
|
|
84
|
+
# Checks for the presence of precise comparison of floating point numbers.
|
85
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintfloatcomparison
|
86
|
+
Lint/FloatComparison:
|
87
|
+
Enabled: true
|
88
|
+
|
58
89
|
# Catches floating-point literals too large or small for Ruby to represent.
|
59
90
|
Lint/FloatOutOfRange:
|
60
91
|
Enabled: true
|
@@ -81,10 +112,21 @@ Lint/LiteralAsCondition:
|
|
81
112
|
Lint/LiteralInInterpolation:
|
82
113
|
Enabled: true
|
83
114
|
|
84
|
-
#
|
115
|
+
# Checks for uses of *begin...end while/until something*.
|
85
116
|
Lint/Loop:
|
86
117
|
Enabled: false
|
87
118
|
|
119
|
+
# Checks for the presence of constructors and lifecycle callbacks without calls to super.
|
120
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintmissingsuper
|
121
|
+
Lint/MissingSuper:
|
122
|
+
Enabled: false
|
123
|
+
|
124
|
+
# Do not mix named captures and numbered captures in a Regexp literal
|
125
|
+
# because numbered capture is ignored if they’re mixed.
|
126
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintmixedregexpcapturetypes
|
127
|
+
Lint/MixedRegexpCaptureTypes:
|
128
|
+
Enabled: true
|
129
|
+
|
88
130
|
# Do not use nested method definitions.
|
89
131
|
Lint/NestedMethodDefinition:
|
90
132
|
Enabled: true
|
@@ -93,6 +135,11 @@ Lint/NestedMethodDefinition:
|
|
93
135
|
Lint/NextWithoutAccumulator:
|
94
136
|
Enabled: true
|
95
137
|
|
138
|
+
# Looks for references of Regexp captures that are out of range and thus always returns nil.
|
139
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintoutofrangeregexpref
|
140
|
+
Lint/OutOfRangeRegexpRef:
|
141
|
+
Enabled: true
|
142
|
+
|
96
143
|
# Checks for method calls with a space before the opening parenthesis.
|
97
144
|
Lint/ParenthesesAsGroupedExpression:
|
98
145
|
Enabled: true
|
@@ -126,6 +173,11 @@ Lint/RescueException:
|
|
126
173
|
Lint/SafeNavigationWithEmpty:
|
127
174
|
Enabled: true
|
128
175
|
|
176
|
+
# Checks for self-assignments.
|
177
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintselfassignment
|
178
|
+
Lint/SelfAssignment:
|
179
|
+
Enabled: true
|
180
|
+
|
129
181
|
# Checks for the order which exceptions are rescued to avoid rescueing a less specific exception before a more specific exception.
|
130
182
|
Lint/ShadowedException:
|
131
183
|
Enabled: false
|
@@ -143,6 +195,11 @@ Lint/StructNewOverride:
|
|
143
195
|
Lint/SuppressedException:
|
144
196
|
Enabled: false
|
145
197
|
|
198
|
+
# Checks for top level return with arguments.
|
199
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#linttoplevelreturnwithargument
|
200
|
+
Lint/TopLevelReturnWithArgument:
|
201
|
+
Enabled: true
|
202
|
+
|
146
203
|
# Do not use prefix `_` for a variable that is used.
|
147
204
|
Lint/UnderscorePrefixedVariableName:
|
148
205
|
Enabled: true
|
@@ -155,6 +212,11 @@ Lint/UnifiedInteger:
|
|
155
212
|
Lint/UnreachableCode:
|
156
213
|
Enabled: true
|
157
214
|
|
215
|
+
# Checks for loops that will have at most one iteration.
|
216
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_lint.html#lintunreachableloop
|
217
|
+
Lint/UnreachableLoop:
|
218
|
+
Enabled: true
|
219
|
+
|
158
220
|
# This cop checks for unused block arguments.
|
159
221
|
Lint/UnusedBlockArgument:
|
160
222
|
Enabled: false
|
@@ -172,10 +234,6 @@ Lint/UselessAccessModifier:
|
|
172
234
|
Lint/UselessAssignment:
|
173
235
|
Enabled: true
|
174
236
|
|
175
|
-
# Checks for comparison of something with itself.
|
176
|
-
Lint/UselessComparison:
|
177
|
-
Enabled: true
|
178
|
-
|
179
237
|
# Checks for useless `else` in `begin..end` without `rescue`.
|
180
238
|
Lint/UselessElseWithoutRescue:
|
181
239
|
Enabled: true
|
data/rubocop-metrics.yml
CHANGED
data/rubocop-migrations.yml
CHANGED
data/rubocop-naming.yml
CHANGED
data/rubocop-performance.yml
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
---
|
2
|
+
# Used to identify usages of ancestors.include? and change them to use ⇐ instead.
|
3
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performanceancestorsinclude
|
4
|
+
Performance/AncestorsInclude:
|
5
|
+
Enabled: true
|
6
|
+
|
7
|
+
# Identifies places where numeric argument to BigDecimal should be converted to string.
|
8
|
+
# Initializing from String is faster than from Numeric for BigDecimal.
|
9
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancebigdecimalwithnumericargument
|
10
|
+
Performance/BigDecimalWithNumericArgument:
|
11
|
+
Enabled: true
|
12
|
+
|
1
13
|
# Use `caller(n..n)` instead of `caller`.
|
2
14
|
Performance/Caller:
|
3
15
|
Enabled: false
|
@@ -31,17 +43,53 @@ Performance/RedundantMerge:
|
|
31
43
|
Enabled: true
|
32
44
|
MaxKeyValuePairs: 1
|
33
45
|
|
46
|
+
# Identifies places where sort { |a, b| a <=> b } can be replaced with sort.
|
47
|
+
# https://docs.rubocop.org/rubocop-performance/1.7/cops_performance.html#performanceredundantsortblock
|
48
|
+
Performance/RedundantSortBlock:
|
49
|
+
Enabled: true
|
50
|
+
|
51
|
+
# Checks for redundant String#chars.
|
52
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performanceredundantstringchars
|
53
|
+
Performance/RedundantStringChars:
|
54
|
+
Enabled: true
|
55
|
+
|
56
|
+
# Identifies places where reverse.first(n) and reverse.first can be replaced by last(n).reverse and last.
|
57
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancereversefirst
|
58
|
+
Performance/ReverseFirst:
|
59
|
+
Enabled: true
|
60
|
+
|
61
|
+
# Identifies places where sort { |a, b| b <=> a } can be replaced by a faster sort.reverse.
|
62
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancesortreverse
|
63
|
+
Performance/SortReverse:
|
64
|
+
Enabled: true
|
65
|
+
|
66
|
+
# Identifies places where gsub(/a+/, 'a') and gsub!(/a+/, 'a') can be replaced by squeeze('a') and squeeze!('a').
|
67
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancesqueeze
|
68
|
+
Performance/Squeeze:
|
69
|
+
Enabled: true
|
70
|
+
|
34
71
|
# Use `start_with?` instead of a regex match anchored to the beginning of a
|
35
72
|
# string.
|
36
73
|
Performance/StartWith:
|
37
74
|
Enabled: true
|
38
75
|
|
76
|
+
# Identifies unnecessary use of a regex where String#include? would suffice.
|
77
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancestringinclude
|
78
|
+
Performance/StringInclude:
|
79
|
+
Enabled: true
|
80
|
+
|
39
81
|
# Use `tr` instead of `gsub` when you are replacing the same number of
|
40
82
|
# characters. Use `delete` instead of `gsub` when you are deleting
|
41
83
|
# characters.
|
42
84
|
Performance/StringReplacement:
|
43
85
|
Enabled: true
|
44
86
|
|
87
|
+
# Identifies places where custom code finding the sum of elements in some
|
88
|
+
# Enumerable object can be replaced by Enumerable#sum method.
|
89
|
+
# https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancesum
|
90
|
+
Performance/Sum:
|
91
|
+
Enabled: true
|
92
|
+
|
45
93
|
# Checks for `.times.map` calls.
|
46
94
|
Performance/TimesMap:
|
47
95
|
Enabled: true
|
data/rubocop-rails.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
# Enables Rails cops.
|
2
3
|
Rails:
|
3
4
|
Enabled: true
|
@@ -7,6 +8,18 @@ Rails/ActionFilter:
|
|
7
8
|
Enabled: true
|
8
9
|
EnforcedStyle: action
|
9
10
|
|
11
|
+
# Checks that Active Record callbacks are declared in the order in which they will be executed.
|
12
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsactiverecordcallbacksorder
|
13
|
+
Rails/ActiveRecordCallbacksOrder:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
# Enforces that there is only one call to after_commit
|
17
|
+
# (and its aliases - after_create_commit, after_update_commit, and after_destroy_commit)
|
18
|
+
# with the same callback name per model.
|
19
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsaftercommitoverride
|
20
|
+
Rails/AfterCommitOverride:
|
21
|
+
Enabled: true
|
22
|
+
|
10
23
|
# Check that models subclass ApplicationRecord.
|
11
24
|
Rails/ApplicationRecord:
|
12
25
|
Enabled: false
|
@@ -43,6 +56,12 @@ Rails/FindBy:
|
|
43
56
|
- 'app/**/*.rb'
|
44
57
|
- 'lib/**/*.rb'
|
45
58
|
|
59
|
+
# Enforces that ActiveRecord#find is used instead of where.take!, find_by!, and find_by_id!
|
60
|
+
# to retrieve a single record by primary key when you expect it to be found.
|
61
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsfindbyid
|
62
|
+
Rails/FindById:
|
63
|
+
Enabled: true
|
64
|
+
|
46
65
|
# Prefer `all.find_each` over `all.find`.
|
47
66
|
Rails/FindEach:
|
48
67
|
Enabled: true
|
@@ -57,6 +76,26 @@ Rails/HasAndBelongsToMany:
|
|
57
76
|
Rails/HttpPositionalArguments:
|
58
77
|
Enabled: true
|
59
78
|
|
79
|
+
# Checks that Active Support’s inquiry method is not used.
|
80
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsinquiry
|
81
|
+
Rails/Inquiry:
|
82
|
+
Enabled: true
|
83
|
+
|
84
|
+
# Enforces that mailer names end with Mailer suffix.
|
85
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsmailername
|
86
|
+
Rails/MailerName:
|
87
|
+
Enabled: true
|
88
|
+
|
89
|
+
# Identifies places where defining routes with match can be replaced with a specific HTTP method.
|
90
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsmatchroute
|
91
|
+
Rails/MatchRoute:
|
92
|
+
Enabled: true
|
93
|
+
|
94
|
+
# Enforces the use of collection.exclude?(obj) over !collection.include?(obj).
|
95
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsnegateinclude
|
96
|
+
Rails/NegateInclude:
|
97
|
+
Enabled: true
|
98
|
+
|
60
99
|
# Checks for calls to puts, print, etc.
|
61
100
|
Rails/Output:
|
62
101
|
Enabled: true
|
@@ -71,6 +110,16 @@ Rails/Output:
|
|
71
110
|
Rails/OutputSafety:
|
72
111
|
Enabled: false
|
73
112
|
|
113
|
+
# Enforces the use of pluck over map.
|
114
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railspluck
|
115
|
+
Rails/Pluck:
|
116
|
+
Enabled: true
|
117
|
+
|
118
|
+
# Identifies places where pluck is used in where query methods and can be replaced with select.
|
119
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railspluckinwhere
|
120
|
+
Rails/PluckInWhere:
|
121
|
+
Enabled: true
|
122
|
+
|
74
123
|
# Checks for incorrect grammar when using methods like `3.day.ago`.
|
75
124
|
Rails/PluralizationGrammar:
|
76
125
|
Enabled: true
|
@@ -87,10 +136,30 @@ Rails/ReadWriteAttribute:
|
|
87
136
|
Rails/RelativeDateConstant:
|
88
137
|
Enabled: false
|
89
138
|
|
139
|
+
# Looks for inline rendering within controller actions.
|
140
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsrenderinline
|
141
|
+
Rails/RenderInline:
|
142
|
+
Enabled: true
|
143
|
+
|
144
|
+
# Identifies places where render text: can be replaced with render plain:.
|
145
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsrenderplaintext
|
146
|
+
Rails/RenderPlainText:
|
147
|
+
Enabled: true
|
148
|
+
|
90
149
|
# Checks the arguments of ActiveRecord scopes.
|
91
150
|
Rails/ScopeArgs:
|
92
151
|
Enabled: true
|
93
152
|
|
153
|
+
# Enforces that short forms of I18n methods are used: t instead of translate and l instead of localize.
|
154
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsshorti18n
|
155
|
+
Rails/ShortI18n:
|
156
|
+
Enabled: true
|
157
|
+
|
158
|
+
# Checks SQL heredocs to use .squish.
|
159
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railssquishedsqlheredocs
|
160
|
+
Rails/SquishedSQLHeredocs:
|
161
|
+
Enabled: true
|
162
|
+
|
94
163
|
# This cop checks for the use of Time methods without zone.
|
95
164
|
Rails/TimeZone:
|
96
165
|
Enabled: false
|
@@ -98,3 +167,13 @@ Rails/TimeZone:
|
|
98
167
|
# This cop checks for the use of old-style attribute validation macros.
|
99
168
|
Rails/Validation:
|
100
169
|
Enabled: true
|
170
|
+
|
171
|
+
# Enforces consistent style when using exists?.
|
172
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railswhereexists
|
173
|
+
Rails/WhereExists:
|
174
|
+
Enabled: true
|
175
|
+
|
176
|
+
# Identifies places where manually constructed SQL in where can be replaced with where.not(...).
|
177
|
+
# https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railswherenot
|
178
|
+
Rails/WhereNot:
|
179
|
+
Enabled: true
|
data/rubocop-rspec.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
# Check that instances are not being stubbed globally.
|
2
3
|
RSpec/AnyInstance:
|
3
4
|
Enabled: false
|
@@ -36,6 +37,10 @@ RSpec/EmptyExampleGroup:
|
|
36
37
|
- it_should_email!
|
37
38
|
- it_should_not_email!
|
38
39
|
|
40
|
+
# Checks if there is an empty line after let blocks.
|
41
|
+
RSpec/EmptyLineAfterLetBlock:
|
42
|
+
Enabled: true
|
43
|
+
|
39
44
|
# Checks if there is an empty line after shared example blocks.
|
40
45
|
RSpec/EmptyLineAfterSharedExample:
|
41
46
|
Enabled: true
|
@@ -138,6 +143,11 @@ RSpec/SingleLineHook:
|
|
138
143
|
- 'spec/factories/*'
|
139
144
|
- 'spec/requests/api/v3/*'
|
140
145
|
|
146
|
+
# Checks that message expectations do not have a configured response.
|
147
|
+
# https://docs.rubocop.org/rubocop-rspec/1.44/cops_rspec.html#rspecstubbedmock
|
148
|
+
RSpec/StubbedMock:
|
149
|
+
Enabled: false
|
150
|
+
|
141
151
|
# Checks for stubbed test subjects.
|
142
152
|
RSpec/SubjectStub:
|
143
153
|
Enabled: false
|
data/rubocop-security.yml
CHANGED
data/rubocop-style.yml
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
---
|
2
|
+
# Checks for grouping of accessors in class and module bodies.
|
3
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleaccessorgrouping
|
4
|
+
Style/AccessorGrouping:
|
5
|
+
Enabled: true
|
6
|
+
|
1
7
|
# Use alias_method instead of alias.
|
2
8
|
Style/Alias:
|
3
9
|
EnforcedStyle: prefer_alias_method
|
@@ -7,6 +13,12 @@ Style/Alias:
|
|
7
13
|
# or completely (always).
|
8
14
|
Style/AndOr:
|
9
15
|
Enabled: true
|
16
|
+
EnforcedStyle: always
|
17
|
+
|
18
|
+
# Enforces the use of Array() instead of explicit Array check or [*var]
|
19
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylearraycoercion
|
20
|
+
Style/ArrayCoercion:
|
21
|
+
Enabled: true
|
10
22
|
|
11
23
|
# Use `Array#join` instead of `Array#*`.
|
12
24
|
Style/ArrayJoin:
|
@@ -24,6 +36,11 @@ Style/Attr:
|
|
24
36
|
Style/BeginBlock:
|
25
37
|
Enabled: true
|
26
38
|
|
39
|
+
# Checks for places where attr_reader and attr_writer for the same method can be combined into single attr_accessor.
|
40
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylebisectedattraccessor
|
41
|
+
Style/BisectedAttrAccessor:
|
42
|
+
Enabled: true
|
43
|
+
|
27
44
|
# Do not use block comments.
|
28
45
|
Style/BlockComments:
|
29
46
|
Enabled: true
|
@@ -33,10 +50,15 @@ Style/BlockComments:
|
|
33
50
|
Style/BlockDelimiters:
|
34
51
|
Enabled: true
|
35
52
|
|
36
|
-
#
|
53
|
+
# Checks for uses of the case equality operator(===).
|
37
54
|
Style/CaseEquality:
|
38
55
|
Enabled: false
|
39
56
|
|
57
|
+
# Identifies places where if-elsif constructions can be replaced with case-when.
|
58
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylecaselikeif
|
59
|
+
Style/CaseLikeIf:
|
60
|
+
Enabled: true
|
61
|
+
|
40
62
|
# Checks for uses of character literals.
|
41
63
|
Style/CharacterLiteral:
|
42
64
|
Enabled: true
|
@@ -95,6 +117,12 @@ Style/EndBlock:
|
|
95
117
|
Style/EvenOdd:
|
96
118
|
Enabled: true
|
97
119
|
|
120
|
+
# Enforces the use of explicit block argument to avoid writing block literal that
|
121
|
+
# just passes its arguments to another block.
|
122
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleexplicitblockargument
|
123
|
+
Style/ExplicitBlockArgument:
|
124
|
+
Enabled: true
|
125
|
+
|
98
126
|
# Enforces consistency when using exponential notation for numbers in the code
|
99
127
|
Style/ExponentialNotation:
|
100
128
|
Enabled: true
|
@@ -111,6 +139,13 @@ Style/FormatStringToken:
|
|
111
139
|
Style/FrozenStringLiteralComment:
|
112
140
|
Enabled: true
|
113
141
|
|
142
|
+
# Enforces the use of $stdout/$stderr/$stdin instead of STDOUT/STDERR/STDIN. STDOUT/STDERR/STDIN are constants,
|
143
|
+
# and while you can actually reassign (possibly to redirect some stream) constants in Ruby,
|
144
|
+
# you’ll get an interpreter warning if you do so.
|
145
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleglobalstdstream
|
146
|
+
Style/GlobalStdStream:
|
147
|
+
Enabled: true
|
148
|
+
|
114
149
|
# Do not introduce global variables.
|
115
150
|
Style/GlobalVars:
|
116
151
|
Enabled: true
|
@@ -118,10 +153,20 @@ Style/GlobalVars:
|
|
118
153
|
- 'lib/backup/**/*'
|
119
154
|
- 'lib/tasks/**/*'
|
120
155
|
|
156
|
+
# Checks for presence or absence of braces around hash literal as a last array item depending on configuration.
|
157
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylehashaslastarrayitem
|
158
|
+
Style/HashAsLastArrayItem:
|
159
|
+
Enabled: true
|
160
|
+
|
121
161
|
# Checks for uses of each_key and each_value Hash methods.
|
122
162
|
Style/HashEachMethods:
|
123
163
|
Enabled: true
|
124
164
|
|
165
|
+
# Checks for places where case-when represents a simple 1:1 mapping and can be replaced with a hash lookup.
|
166
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylehashlikecase
|
167
|
+
Style/HashLikeCase:
|
168
|
+
Enabled: false
|
169
|
+
|
125
170
|
# Prefer Ruby 1.9 hash syntax `{ a: 1, b: 2 }`
|
126
171
|
# over 1.8 syntax `{ :a => 1, :b => 2 }`.
|
127
172
|
Style/HashSyntax:
|
@@ -161,6 +206,11 @@ Style/InverseMethods:
|
|
161
206
|
Style/LambdaCall:
|
162
207
|
Enabled: true
|
163
208
|
|
209
|
+
# Checks for places where keyword arguments can be used instead of boolean arguments when defining methods.
|
210
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleoptionalbooleanparameter
|
211
|
+
Style/OptionalBooleanParameter:
|
212
|
+
Enabled: false
|
213
|
+
|
164
214
|
# Use `strip` instead of `lstrip.rstrip`.
|
165
215
|
Style/Strip:
|
166
216
|
Enabled: true
|
@@ -248,10 +298,25 @@ Style/PreferredHashMethods:
|
|
248
298
|
Style/RedundantCapitalW:
|
249
299
|
Enabled: true
|
250
300
|
|
301
|
+
# Checks for redundant assignment before returning.
|
302
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleredundantassignment
|
303
|
+
Style/RedundantAssignment:
|
304
|
+
Enabled: true
|
305
|
+
|
251
306
|
# Checks for an obsolete RuntimeException argument in raise/fail.
|
252
307
|
Style/RedundantException:
|
253
308
|
Enabled: true
|
254
309
|
|
310
|
+
# Identifies places where fetch(key) { value } can be replaced by fetch(key, value).
|
311
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleredundantfetchblock
|
312
|
+
Style/RedundantFetchBlock:
|
313
|
+
Enabled: true
|
314
|
+
|
315
|
+
# Checks for the presence of superfluous .rb extension in the filename provided to require and require_relative.
|
316
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleredundantfileextensioninrequire
|
317
|
+
Style/RedundantFileExtensionInRequire:
|
318
|
+
Enabled: true
|
319
|
+
|
255
320
|
# Checks for parentheses that seem not to serve any purpose.
|
256
321
|
Style/RedundantParentheses:
|
257
322
|
Enabled: true
|
@@ -260,6 +325,16 @@ Style/RedundantParentheses:
|
|
260
325
|
Style/RedundantPercentQ:
|
261
326
|
Enabled: false
|
262
327
|
|
328
|
+
# Checks for unnecessary single-element Regexp character classes.
|
329
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleredundantregexpcharacterclass
|
330
|
+
Style/RedundantRegexpCharacterClass:
|
331
|
+
Enabled: true
|
332
|
+
|
333
|
+
# Checks for redundant escapes inside Regexp literals.
|
334
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleredundantregexpescape
|
335
|
+
Style/RedundantRegexpEscape:
|
336
|
+
Enabled: true
|
337
|
+
|
263
338
|
# Use `sort` instead of `sort_by { |x| x }`.
|
264
339
|
Style/RedundantSortBy:
|
265
340
|
Enabled: true
|
@@ -268,16 +343,31 @@ Style/RedundantSortBy:
|
|
268
343
|
Style/Semicolon:
|
269
344
|
Enabled: true
|
270
345
|
|
346
|
+
# Sometimes using dig method ends up with just a single argument. In such cases, dig should be replaced with [].
|
347
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylesingleargumentdig
|
348
|
+
Style/SingleArgumentDig:
|
349
|
+
Enabled: true
|
350
|
+
|
271
351
|
# Checks for proper usage of fail and raise.
|
272
352
|
Style/SignalException:
|
273
353
|
EnforcedStyle: only_raise
|
274
354
|
Enabled: true
|
275
355
|
|
356
|
+
# Checks that arrays are sliced with endless ranges instead of ary[start..-1] on Ruby 2.6+.
|
357
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#styleslicingwithrange
|
358
|
+
Style/SlicingWithRange:
|
359
|
+
Enabled: true
|
360
|
+
|
276
361
|
# Check for the usage of parentheses around stabby lambda arguments.
|
277
362
|
Style/StabbyLambdaParentheses:
|
278
363
|
EnforcedStyle: require_parentheses
|
279
364
|
Enabled: true
|
280
365
|
|
366
|
+
# Checks for places where string concatenation can be replaced with string interpolation.
|
367
|
+
# https://docs.rubocop.org/rubocop/0.89/cops_style.html#stylestringconcatenation
|
368
|
+
Style/StringConcatenation:
|
369
|
+
Enabled: true
|
370
|
+
|
281
371
|
# Checks if uses of quotes match the configured preference.
|
282
372
|
Style/StringLiterals:
|
283
373
|
Enabled: false
|