rspec_api_blueprint_matchers 0.1.2 → 0.1.3
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/.codeclimate.yml +33 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +26 -0
- data/.ruby-version +1 -0
- data/Rakefile +2 -1
- data/config/rubocop/.lint_rubocop.yml +749 -0
- data/config/rubocop/.metrics_rubocop.yml +94 -0
- data/config/rubocop/.performance_rubocop.yml +323 -0
- data/config/rubocop/.rails_rubocop.yml +256 -0
- data/config/rubocop/.style_rubocop.yml +2299 -0
- data/docker-compose.yml +17 -0
- data/lib/rspec_api_blueprint_matchers.rb +1 -0
- data/lib/rspec_apib/config.rb +1 -0
- data/lib/rspec_apib/elements/annotation.rb +1 -0
- data/lib/rspec_apib/elements/array.rb +1 -0
- data/lib/rspec_apib/elements/asset.rb +1 -0
- data/lib/rspec_apib/elements/base.rb +11 -10
- data/lib/rspec_apib/elements/category.rb +2 -1
- data/lib/rspec_apib/elements/copy.rb +2 -1
- data/lib/rspec_apib/elements/data_structure.rb +2 -0
- data/lib/rspec_apib/elements/href_variables.rb +3 -2
- data/lib/rspec_apib/elements/http_headers.rb +5 -4
- data/lib/rspec_apib/elements/http_message_payload.rb +3 -2
- data/lib/rspec_apib/elements/http_request.rb +16 -10
- data/lib/rspec_apib/elements/http_response.rb +3 -1
- data/lib/rspec_apib/elements/http_transaction.rb +4 -3
- data/lib/rspec_apib/elements/member.rb +3 -2
- data/lib/rspec_apib/elements/object.rb +2 -1
- data/lib/rspec_apib/elements/parse_result.rb +1 -0
- data/lib/rspec_apib/elements/resource.rb +1 -0
- data/lib/rspec_apib/elements/source_map.rb +1 -0
- data/lib/rspec_apib/elements/string.rb +1 -0
- data/lib/rspec_apib/elements/templated_href.rb +1 -0
- data/lib/rspec_apib/elements/transition.rb +1 -0
- data/lib/rspec_apib/elements.rb +1 -0
- data/lib/rspec_apib/extractors/http_transaction.rb +1 -0
- data/lib/rspec_apib/extractors/resource.rb +1 -0
- data/lib/rspec_apib/extractors.rb +1 -0
- data/lib/rspec_apib/parser.rb +2 -1
- data/lib/rspec_apib/request.rb +7 -10
- data/lib/rspec_apib/response.rb +2 -2
- data/lib/rspec_apib/rspec.rb +4 -3
- data/lib/rspec_apib/transaction_coverage_report.rb +4 -3
- data/lib/rspec_apib/transaction_coverage_validator.rb +4 -3
- data/lib/rspec_apib/transaction_validator.rb +1 -0
- data/lib/rspec_apib/transcluder.rb +2 -2
- data/lib/rspec_apib/version.rb +2 -1
- data/lib/rspec_apib.rb +2 -1
- data/lib/transcluder.rb +1 -0
- data/rspec_api_blueprint_matchers.gemspec +6 -4
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00bbd623fac3c63470843d99199dec55cb21933d
|
4
|
+
data.tar.gz: a685889ecb9d20e98bdd4259edb41ad839a8fcc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8c62e6ea5459d29d6cac59df4a6f087d59c3f601d1c4e054c72bb7c858237a02072d7be62a61b10dce3f0b8271b17ff54e98888ad851902d76c46fdce097cf0
|
7
|
+
data.tar.gz: 6941c13aa25247839e24588320b01d6c7f499f2fd555eeee7318094d13928f0f277669359f29c464683e4f8aaed93d748defd8c362ae00c4bd08e06367548967
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# To find more info about this,
|
2
|
+
# please read the following line
|
3
|
+
# https://docs.codeclimate.com/docs/getting-started-configuration
|
4
|
+
|
5
|
+
engines:
|
6
|
+
brakeman:
|
7
|
+
enabled: true
|
8
|
+
bundler-audit:
|
9
|
+
enabled: true
|
10
|
+
duplication:
|
11
|
+
enabled: true
|
12
|
+
config:
|
13
|
+
languages:
|
14
|
+
ruby:
|
15
|
+
count_threshold: 3
|
16
|
+
fixme:
|
17
|
+
enabled: true
|
18
|
+
rubocop:
|
19
|
+
enabled: true
|
20
|
+
reek:
|
21
|
+
enabled: true
|
22
|
+
eslint:
|
23
|
+
enabled: true
|
24
|
+
ratings:
|
25
|
+
paths:
|
26
|
+
- Gemfile.lock
|
27
|
+
- "**.erb"
|
28
|
+
- "**.rb"
|
29
|
+
- "**.js"
|
30
|
+
exclude_paths:
|
31
|
+
- spec/
|
32
|
+
- bin/
|
33
|
+
- config/
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# To find more info about this,
|
2
|
+
# please read the following line
|
3
|
+
# http://www.rubydoc.info/github/bbatsov/rubocop/Rubocop
|
4
|
+
|
5
|
+
inherit_from:
|
6
|
+
- config/rubocop/.lint_rubocop.yml
|
7
|
+
- config/rubocop/.metrics_rubocop.yml
|
8
|
+
- config/rubocop/.performance_rubocop.yml
|
9
|
+
- config/rubocop/.rails_rubocop.yml
|
10
|
+
- config/rubocop/.style_rubocop.yml
|
11
|
+
|
12
|
+
AllCops:
|
13
|
+
Exclude:
|
14
|
+
- "db"
|
15
|
+
- "tmp"
|
16
|
+
- "coverage"
|
17
|
+
- "public"
|
18
|
+
- "Gemfile"
|
19
|
+
- "Gemfile.lock"
|
20
|
+
- "Guardfile"
|
21
|
+
- "config/*"
|
22
|
+
- "bin/*"
|
23
|
+
- "config.ru"
|
24
|
+
- "spec"
|
25
|
+
- "vendor/gems/**/spec/**"
|
26
|
+
TargetRubyVersion: 2.4
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.4.1
|
data/Rakefile
CHANGED
@@ -0,0 +1,749 @@
|
|
1
|
+
# Lint::AmbiguousOperator
|
2
|
+
#
|
3
|
+
# Checks for ambiguous operators in the first argument of a method invocation without parentheses.
|
4
|
+
#
|
5
|
+
# bad: do_something *some_array
|
6
|
+
#
|
7
|
+
# The '*' is interpreted as a splat operator but it could possibly be
|
8
|
+
# a '*' method invocation (i.e. 'do_something.*(some_array)')
|
9
|
+
#
|
10
|
+
# good: do_something(*some_array)
|
11
|
+
#
|
12
|
+
Lint/AmbiguousOperator:
|
13
|
+
Enabled: true
|
14
|
+
|
15
|
+
# Lint::AmbiguousRegexpLiteral
|
16
|
+
#
|
17
|
+
# Checks for ambiguous regexp literals in the first argument of a method invocation without parentheses.
|
18
|
+
#
|
19
|
+
# bad: do_something /pattern/i
|
20
|
+
#
|
21
|
+
# This is interpreted as a method invocation with a regexp literal,
|
22
|
+
# but it could possibly be `/` method invocations. (i.e. `do_something./(pattern)./(i)`)
|
23
|
+
#
|
24
|
+
# good: do_something(/pattern/i)
|
25
|
+
|
26
|
+
Lint/AmbiguousRegexpLiteral:
|
27
|
+
Enabled: true
|
28
|
+
|
29
|
+
# Lint::AssignmentInCondition
|
30
|
+
#
|
31
|
+
# Checks for assignments in the conditions of if/while/until
|
32
|
+
# (This also helps in accidentally using an assignment operator instead of a comparison)
|
33
|
+
#
|
34
|
+
# bad:
|
35
|
+
#
|
36
|
+
# if some_var = true
|
37
|
+
# do_something
|
38
|
+
# end
|
39
|
+
#
|
40
|
+
# good:
|
41
|
+
#
|
42
|
+
# if some_var == true
|
43
|
+
# do_something
|
44
|
+
# end
|
45
|
+
#
|
46
|
+
Lint/AssignmentInCondition:
|
47
|
+
AllowSafeAssignment: true
|
48
|
+
|
49
|
+
# Lint::BlockAlignment
|
50
|
+
#
|
51
|
+
# Checks whether the end keywords are aligned properly for do end blocks.
|
52
|
+
#
|
53
|
+
# The value `start_of_block` means that the `end` should be aligned with line
|
54
|
+
# where the `do` keyword appears.
|
55
|
+
#
|
56
|
+
# The value `start_of_line` means it should be aligned with the whole
|
57
|
+
# expression's starting line.
|
58
|
+
#
|
59
|
+
# The value `either` means both are allowed.
|
60
|
+
|
61
|
+
Lint/BlockAlignment:
|
62
|
+
AlignWith: either
|
63
|
+
|
64
|
+
# Lint::CircularArgumentReference
|
65
|
+
#
|
66
|
+
# Checks for circular argument reference in optional keyword arguments and optional
|
67
|
+
# ordinal arguments
|
68
|
+
#
|
69
|
+
# bad:
|
70
|
+
#
|
71
|
+
# def bake(pie: pie)
|
72
|
+
# pie.heat_up
|
73
|
+
# end
|
74
|
+
#
|
75
|
+
# good:
|
76
|
+
#
|
77
|
+
# def bake(pie:)
|
78
|
+
# pie.heat_up
|
79
|
+
# end
|
80
|
+
|
81
|
+
Lint/CircularArgumentReference:
|
82
|
+
Enabled: true
|
83
|
+
|
84
|
+
# Lint::ConditionPosition
|
85
|
+
#
|
86
|
+
# Checks for conditions that are not on the same line as if/while/until.
|
87
|
+
#
|
88
|
+
# bad:
|
89
|
+
#
|
90
|
+
# if
|
91
|
+
# some_condition
|
92
|
+
# do_something
|
93
|
+
# end
|
94
|
+
#
|
95
|
+
# good:
|
96
|
+
#
|
97
|
+
# if some_condition
|
98
|
+
# do_something
|
99
|
+
# end
|
100
|
+
#
|
101
|
+
Lint/ConditionPosition:
|
102
|
+
Enabled: false
|
103
|
+
|
104
|
+
# Lint::Debugger
|
105
|
+
#
|
106
|
+
# Checks for calls to debugger or pry.
|
107
|
+
|
108
|
+
Lint/Debugger:
|
109
|
+
Enabled: true
|
110
|
+
|
111
|
+
# Lint::DefEndAlignment
|
112
|
+
#
|
113
|
+
# Checks whether the end keywords of method definitions are aligned properly
|
114
|
+
|
115
|
+
Lint/DefEndAlignment:
|
116
|
+
AlignWith: start_of_line
|
117
|
+
AutoCorrect: true
|
118
|
+
|
119
|
+
# Lint::DeprecatedClassMethods
|
120
|
+
#
|
121
|
+
# Checks for used of the deprecated class method usages.
|
122
|
+
#
|
123
|
+
# bad:
|
124
|
+
#
|
125
|
+
# file.exists?(some_path)
|
126
|
+
#
|
127
|
+
# good:
|
128
|
+
#
|
129
|
+
# file.exist?(some_path)
|
130
|
+
#
|
131
|
+
Lint/DeprecatedClassMethods:
|
132
|
+
Enabled: true
|
133
|
+
|
134
|
+
# Lint::DuplicateCaseCondition
|
135
|
+
#
|
136
|
+
# Checks that there are no repeated conditions used in case 'when' expressions
|
137
|
+
#
|
138
|
+
# bad:
|
139
|
+
# case x
|
140
|
+
# when 'first'
|
141
|
+
# do_something
|
142
|
+
# when 'first'
|
143
|
+
# do_something_else
|
144
|
+
# end
|
145
|
+
|
146
|
+
Lint/DuplicateCaseCondition:
|
147
|
+
Enabled: true
|
148
|
+
|
149
|
+
# Lint::DuplicateMethods
|
150
|
+
#
|
151
|
+
# Checks for duplicated instance (or singleton) method definitions.
|
152
|
+
#
|
153
|
+
# bad:
|
154
|
+
#
|
155
|
+
# def duplicated
|
156
|
+
# 1
|
157
|
+
# end
|
158
|
+
#
|
159
|
+
# def duplicated
|
160
|
+
# 2
|
161
|
+
# end
|
162
|
+
|
163
|
+
Lint/DuplicateMethods:
|
164
|
+
Enabled: true
|
165
|
+
|
166
|
+
# Lint::DuplicateKey
|
167
|
+
#
|
168
|
+
# Checks for duplicated keys in hash literals
|
169
|
+
#
|
170
|
+
# bad: hash = { food: 'apple', food: 'orange' }
|
171
|
+
|
172
|
+
Lint/DuplicateKey:
|
173
|
+
Enabled: true
|
174
|
+
|
175
|
+
# Lint::EachWithObjectArgument
|
176
|
+
#
|
177
|
+
# Checks if each_with_object is called with an immutable argument.
|
178
|
+
#
|
179
|
+
# Example:
|
180
|
+
# sum = numbers.each_with_object(0) { |e, a| a += e }
|
181
|
+
|
182
|
+
Lint/EachWithObjectArgument:
|
183
|
+
Enabled: true
|
184
|
+
|
185
|
+
# Lint::ElseLayout
|
186
|
+
#
|
187
|
+
# Checks for odd else block layout (usually a mistake in coding).
|
188
|
+
#
|
189
|
+
# bad:
|
190
|
+
#
|
191
|
+
# if something
|
192
|
+
# ... do something...
|
193
|
+
# else do_this
|
194
|
+
# do_that
|
195
|
+
# end
|
196
|
+
#
|
197
|
+
# good:
|
198
|
+
#
|
199
|
+
# if something
|
200
|
+
# ... do something...
|
201
|
+
# else
|
202
|
+
# do_this
|
203
|
+
# do_that
|
204
|
+
# end
|
205
|
+
#
|
206
|
+
Lint/ElseLayout:
|
207
|
+
Enabled: true
|
208
|
+
|
209
|
+
# Lint::EmptyEnsure
|
210
|
+
#
|
211
|
+
# Checks for empty ensure blocks.
|
212
|
+
#
|
213
|
+
# bad:
|
214
|
+
#
|
215
|
+
# def some_method
|
216
|
+
# do_something
|
217
|
+
# ensure
|
218
|
+
# end
|
219
|
+
#
|
220
|
+
# good:
|
221
|
+
#
|
222
|
+
# def some_method
|
223
|
+
# do_something
|
224
|
+
# ensure
|
225
|
+
# do_something_else
|
226
|
+
# end
|
227
|
+
#
|
228
|
+
Lint/EmptyEnsure:
|
229
|
+
Enabled: true
|
230
|
+
|
231
|
+
# Lint::EmptyExpression
|
232
|
+
#
|
233
|
+
# Checks for the presence of empty expressions
|
234
|
+
#
|
235
|
+
# bad:
|
236
|
+
#
|
237
|
+
# foo = ()
|
238
|
+
# if ()
|
239
|
+
# bar
|
240
|
+
# end
|
241
|
+
|
242
|
+
Lint/EmptyExpression:
|
243
|
+
Enabled: true
|
244
|
+
|
245
|
+
# Lint::EmptyInterpolation
|
246
|
+
#
|
247
|
+
# Checks for empty interpolation
|
248
|
+
|
249
|
+
Lint/EmptyInterpolation:
|
250
|
+
Enabled: true
|
251
|
+
|
252
|
+
# Lint::EmptyWhen
|
253
|
+
#
|
254
|
+
# Checks for the presence of 'when' branches without a body
|
255
|
+
#
|
256
|
+
# bad:
|
257
|
+
#
|
258
|
+
# case foo
|
259
|
+
# when bar then 1
|
260
|
+
# when baz then #nothing
|
261
|
+
# end
|
262
|
+
#
|
263
|
+
Lint/EmptyWhen:
|
264
|
+
Enabled: true
|
265
|
+
|
266
|
+
# Lint::EndAlignment
|
267
|
+
#
|
268
|
+
# Checks whether the end keywords are aligned properly
|
269
|
+
|
270
|
+
Lint/EndAlignment:
|
271
|
+
AlignWith: keyword
|
272
|
+
AutoCorrect: true
|
273
|
+
|
274
|
+
# Lint::EndInMethod
|
275
|
+
#
|
276
|
+
# Checks for END blocks in method definitions
|
277
|
+
# ( Use `at_exit` instead )
|
278
|
+
|
279
|
+
Lint/EndInMethod:
|
280
|
+
Enabled: true
|
281
|
+
|
282
|
+
# Lint::EnsureReturn
|
283
|
+
#
|
284
|
+
# Checks for `return` from an `ensure` block.
|
285
|
+
# ( Do not return from an `ensure` block. )
|
286
|
+
|
287
|
+
Lint/EnsureReturn:
|
288
|
+
Enabled: true
|
289
|
+
|
290
|
+
# Lint::Eval
|
291
|
+
#
|
292
|
+
# Checks for the use of *Kernel#eval*.
|
293
|
+
# ( Using eval is serious security risk )
|
294
|
+
|
295
|
+
Lint/Eval:
|
296
|
+
Enabled: false
|
297
|
+
|
298
|
+
# Lint::FloatOutOfRange
|
299
|
+
#
|
300
|
+
# Identifies Float literal which are, like, too big.
|
301
|
+
|
302
|
+
Lint/FloatOutOfRange:
|
303
|
+
Enabled: true
|
304
|
+
|
305
|
+
# Lint::FormatParameterMismatch
|
306
|
+
#
|
307
|
+
# Sees if there is a mismatch between the number of expected fields for format/sprintf/#% and
|
308
|
+
# what is actually passed as arguments
|
309
|
+
#
|
310
|
+
# Example:
|
311
|
+
# format('A value: %s and another: %i', a_value)
|
312
|
+
|
313
|
+
Lint/FormatParameterMismatch:
|
314
|
+
Enabled: true
|
315
|
+
|
316
|
+
# Style::HandleExceptions
|
317
|
+
#
|
318
|
+
# Checks for rescue blocks with no body.
|
319
|
+
#
|
320
|
+
# bad:
|
321
|
+
#
|
322
|
+
# def some_method
|
323
|
+
# do_something
|
324
|
+
# rescue
|
325
|
+
# #do_nothing
|
326
|
+
# end
|
327
|
+
#
|
328
|
+
# good:
|
329
|
+
#
|
330
|
+
# def some_method
|
331
|
+
# do_something
|
332
|
+
# rescue
|
333
|
+
# handle_exception
|
334
|
+
# end
|
335
|
+
#
|
336
|
+
Lint/HandleExceptions:
|
337
|
+
Enabled: true
|
338
|
+
|
339
|
+
# Lint::ImplicitStringConcatenation
|
340
|
+
#
|
341
|
+
# Checks for implicit string concatenation of string literals which are on the same line
|
342
|
+
#
|
343
|
+
# bad:
|
344
|
+
#
|
345
|
+
# array = ['Item 1' 'Item 2']
|
346
|
+
#
|
347
|
+
# good:
|
348
|
+
#
|
349
|
+
# array = ['Item 1Item 2']
|
350
|
+
|
351
|
+
Lint/ImplicitStringConcatenation:
|
352
|
+
Enabled: true
|
353
|
+
|
354
|
+
# Lint::IneffectiveAccessModifier
|
355
|
+
#
|
356
|
+
# Checks for 'private' or 'protected' access modifiers which are applied to a singleton method.
|
357
|
+
# These access modifiers do not make singleton methods private/protected.
|
358
|
+
#'private_class_method' can be used for that.
|
359
|
+
#
|
360
|
+
# bad:
|
361
|
+
#
|
362
|
+
# class C
|
363
|
+
# private
|
364
|
+
#
|
365
|
+
# def self.method
|
366
|
+
# puts 'hi'
|
367
|
+
# end
|
368
|
+
# end
|
369
|
+
#
|
370
|
+
# good:
|
371
|
+
#
|
372
|
+
# class C
|
373
|
+
# def self.method
|
374
|
+
# puts 'hi'
|
375
|
+
# end
|
376
|
+
#
|
377
|
+
# private_class_method :method
|
378
|
+
# end
|
379
|
+
#
|
380
|
+
|
381
|
+
Lint/IneffectiveAccessModifier:
|
382
|
+
Enabled: false
|
383
|
+
|
384
|
+
# Lint::InheritException
|
385
|
+
#
|
386
|
+
# Looks for error classes inheriting from 'Exception' and its standard library subclasses,
|
387
|
+
# excluding subclasses of 'StandardError'.
|
388
|
+
|
389
|
+
Lint/InheritException:
|
390
|
+
EnforcedStyle: runtime_error
|
391
|
+
|
392
|
+
# Lint::InvalidCharacterLiteral
|
393
|
+
#
|
394
|
+
# Checks for invalid character literals with a non-escaped whitespace character (e.g. `?`).
|
395
|
+
# Generally this results in syntax errors.
|
396
|
+
#
|
397
|
+
# bad: p(? )
|
398
|
+
Lint/InvalidCharacterLiteral:
|
399
|
+
Enabled: false
|
400
|
+
|
401
|
+
# Lint::LiteralInCondition
|
402
|
+
#
|
403
|
+
# Checks for literals used as the conditions or as operands in and/or
|
404
|
+
# expressions serving as the conditions of if/while/until.
|
405
|
+
#
|
406
|
+
# bad:
|
407
|
+
#
|
408
|
+
# if some_var && true
|
409
|
+
# do_something
|
410
|
+
# end
|
411
|
+
#
|
412
|
+
# good:
|
413
|
+
#
|
414
|
+
# if some_var && some_condition
|
415
|
+
# do_something
|
416
|
+
# end
|
417
|
+
#
|
418
|
+
Lint/LiteralInCondition:
|
419
|
+
Enabled: true
|
420
|
+
|
421
|
+
# Lint::LiteralInInterpolation
|
422
|
+
#
|
423
|
+
# Checks for interpolated literals.
|
424
|
+
#
|
425
|
+
# bad: "result is #{10}"
|
426
|
+
#
|
427
|
+
# good: "result is 10"
|
428
|
+
|
429
|
+
Lint/LiteralInInterpolation:
|
430
|
+
Enabled: true
|
431
|
+
|
432
|
+
# Lint::Loop
|
433
|
+
#
|
434
|
+
# Checks for uses of *begin...end while/until something*.
|
435
|
+
#
|
436
|
+
# using while:
|
437
|
+
#
|
438
|
+
# bad:
|
439
|
+
#
|
440
|
+
# begin
|
441
|
+
# do_something
|
442
|
+
# end while some_condition
|
443
|
+
#
|
444
|
+
# good:
|
445
|
+
#
|
446
|
+
# while some_condition
|
447
|
+
# do_something
|
448
|
+
# end
|
449
|
+
#
|
450
|
+
|
451
|
+
Lint/Loop:
|
452
|
+
Enabled: true
|
453
|
+
|
454
|
+
# Lint::NestedMethodDefinition
|
455
|
+
#
|
456
|
+
# Checks for nested method definitions.
|
457
|
+
|
458
|
+
Lint/NestedMethodDefinition:
|
459
|
+
Enabled: true
|
460
|
+
|
461
|
+
# Lint::NextWithoutAccumulator
|
462
|
+
#
|
463
|
+
# Don't omit the accumulator when calling `next` in a `reduce` block
|
464
|
+
#
|
465
|
+
# bad:
|
466
|
+
#
|
467
|
+
# result = (1..4).reduce(0) do |acc,i|
|
468
|
+
# next if i.odd?
|
469
|
+
# acc + i
|
470
|
+
# end
|
471
|
+
#
|
472
|
+
# good:
|
473
|
+
#
|
474
|
+
# result = (1..4).reduce(0) do |acc,i|
|
475
|
+
# next if i.odd?
|
476
|
+
# acc + i
|
477
|
+
# end
|
478
|
+
#
|
479
|
+
|
480
|
+
Lint/NextWithoutAccumulator:
|
481
|
+
Enabled: true
|
482
|
+
|
483
|
+
# Lint::NonLocalExitFromIterator
|
484
|
+
#
|
485
|
+
# Checks for non-local exit from iterator.
|
486
|
+
|
487
|
+
Lint/NonLocalExitFromIterator:
|
488
|
+
Enabled: true
|
489
|
+
|
490
|
+
# Lint::ParenthesesAsGroupedExpression
|
491
|
+
#
|
492
|
+
# Checks for space between the name of a called method and left parenthesis.
|
493
|
+
#
|
494
|
+
# bad: puts (x + y)
|
495
|
+
#
|
496
|
+
# good: puts(x + y)
|
497
|
+
#
|
498
|
+
Lint/ParenthesesAsGroupedExpression:
|
499
|
+
Enabled: true
|
500
|
+
|
501
|
+
# Lint::PercentStringArray
|
502
|
+
#
|
503
|
+
# Checks for quotes and commas in %w, e.g.
|
504
|
+
#
|
505
|
+
# Example: `%w('foo', "bar")`
|
506
|
+
|
507
|
+
Lint/PercentStringArray:
|
508
|
+
Enabled: true
|
509
|
+
|
510
|
+
# Lint::PercentSymbolArray
|
511
|
+
#
|
512
|
+
# Checks for colons and commas in %i, e.g.
|
513
|
+
#
|
514
|
+
# Example: `%i(:foo, :bar)`
|
515
|
+
|
516
|
+
Lint/PercentSymbolArray:
|
517
|
+
Enabled: true
|
518
|
+
|
519
|
+
# Lint::RandOne
|
520
|
+
#
|
521
|
+
# Checks for `rand(1)` calls. Such calls always return `0`
|
522
|
+
|
523
|
+
Lint/RandOne:
|
524
|
+
Enabled: true
|
525
|
+
|
526
|
+
# Lint::RequireParentheses
|
527
|
+
#
|
528
|
+
# Checks for expressions where there is a call to a predicate method with at least one argument,
|
529
|
+
# where no paranthesis are used around the parameter list, and a boolean operator, && or ||,
|
530
|
+
# is used in the last argument.
|
531
|
+
# The idea behing this warning for these constructs is that the user might be under the impression
|
532
|
+
# that the return value from the method call is an operand of &&/||.
|
533
|
+
#
|
534
|
+
# bad:
|
535
|
+
#
|
536
|
+
# if day.is? :tuesday && month == :jan
|
537
|
+
#
|
538
|
+
# good:
|
539
|
+
#
|
540
|
+
# if day.is?(:tuesday) && month == :jan
|
541
|
+
#
|
542
|
+
Lint/RequireParentheses:
|
543
|
+
Enabled: true
|
544
|
+
|
545
|
+
# Lint::RescueException
|
546
|
+
#
|
547
|
+
# Checks for `rescue` blocks targeting the Exception class.
|
548
|
+
# ( Avoid rescuing the Exception class. )
|
549
|
+
|
550
|
+
Lint/RescueException:
|
551
|
+
Enabled: true
|
552
|
+
|
553
|
+
# Lint::ShadowedException
|
554
|
+
#
|
555
|
+
# Checks for a rescued exception that get shadowed by a less specific exception being
|
556
|
+
# rescued before a more specific exception is rescued
|
557
|
+
#
|
558
|
+
# bad:
|
559
|
+
#
|
560
|
+
# begin
|
561
|
+
# something
|
562
|
+
# rescue Exception
|
563
|
+
# handle_exception
|
564
|
+
# rescue StandardError
|
565
|
+
# handle_standard_error
|
566
|
+
# end
|
567
|
+
#
|
568
|
+
# good:
|
569
|
+
#
|
570
|
+
# begin
|
571
|
+
# something
|
572
|
+
# rescue StandardError
|
573
|
+
# handle_standard_error
|
574
|
+
# rescue Exception
|
575
|
+
# handle_exception
|
576
|
+
# end
|
577
|
+
|
578
|
+
Lint/ShadowedException:
|
579
|
+
Enabled: true
|
580
|
+
|
581
|
+
# Lint::ShadowingOuterLocalVariable
|
582
|
+
#
|
583
|
+
# Looks for use of the same name as outer local variables for block arguments or block
|
584
|
+
# local variables.
|
585
|
+
|
586
|
+
Lint/ShadowingOuterLocalVariable:
|
587
|
+
Enabled: true
|
588
|
+
|
589
|
+
# Lint::StringConversionInInterpolation
|
590
|
+
#
|
591
|
+
# Checks for string conversion in string interpolation, which is redundant.
|
592
|
+
#
|
593
|
+
# Example: "result is #{something.to_s}"
|
594
|
+
|
595
|
+
Lint/StringConversionInInterpolation:
|
596
|
+
Enabled: true
|
597
|
+
|
598
|
+
# Lint::UnderscorePrefixedVariableName
|
599
|
+
#
|
600
|
+
# Checks for underscore-prefixed variables that are actually used.
|
601
|
+
#
|
602
|
+
# bad:
|
603
|
+
#
|
604
|
+
# [1,2,3].each do |_num|
|
605
|
+
# do_something(_num)
|
606
|
+
# end
|
607
|
+
#
|
608
|
+
# good:
|
609
|
+
#
|
610
|
+
# [1,2,3].each do |_num|
|
611
|
+
# do_something # not using `_num`
|
612
|
+
# end
|
613
|
+
#
|
614
|
+
Lint/UnderscorePrefixedVariableName:
|
615
|
+
Enabled: true
|
616
|
+
|
617
|
+
# Lint::UnifiedInteger
|
618
|
+
#
|
619
|
+
# Checks for using Fixnum or BigNum constant
|
620
|
+
#
|
621
|
+
# bad:
|
622
|
+
#
|
623
|
+
# 1.is_a?(Fixnum)
|
624
|
+
# 1.is_a?(Bignum)
|
625
|
+
#
|
626
|
+
# good:
|
627
|
+
#
|
628
|
+
# 1.is_a?(Integer)
|
629
|
+
|
630
|
+
Lint/UnifiedInteger:
|
631
|
+
Enabled: true
|
632
|
+
|
633
|
+
# Lint::UnneededDisable
|
634
|
+
#
|
635
|
+
# Detects the instances of rubocop:disableComments that can be removed without causing any
|
636
|
+
# offenses to be reported.
|
637
|
+
|
638
|
+
Lint/UnneededDisable:
|
639
|
+
Enabled: true
|
640
|
+
|
641
|
+
# Lint::UnneededSplatExpansion
|
642
|
+
#
|
643
|
+
# Checks for unneeded usages of splat expansion
|
644
|
+
#
|
645
|
+
# bad: a = *[1, 2, 3]
|
646
|
+
#
|
647
|
+
# good: a = [1, 2, 3]
|
648
|
+
|
649
|
+
Lint/UnneededSplatExpansion:
|
650
|
+
Enabled: true
|
651
|
+
|
652
|
+
# Lint::UnreachableCode
|
653
|
+
#
|
654
|
+
# Checks for unreachable code.
|
655
|
+
|
656
|
+
Lint/UnreachableCode:
|
657
|
+
Enabled: true
|
658
|
+
|
659
|
+
# Lint::UnusedBlockArgument
|
660
|
+
#
|
661
|
+
# Checks for unused block arguments
|
662
|
+
#
|
663
|
+
# bad:
|
664
|
+
#
|
665
|
+
# do_something do |used, _unused|
|
666
|
+
# puts used
|
667
|
+
# end
|
668
|
+
#
|
669
|
+
# good:
|
670
|
+
#
|
671
|
+
# do_something do |used|
|
672
|
+
# puts used
|
673
|
+
# end
|
674
|
+
|
675
|
+
Lint/UnusedBlockArgument:
|
676
|
+
Enabled: true
|
677
|
+
|
678
|
+
# Lint::UnusedMethodArgument
|
679
|
+
#
|
680
|
+
# Checks for unused method argument
|
681
|
+
|
682
|
+
Lint/UnusedMethodArgument:
|
683
|
+
Enabled: true
|
684
|
+
|
685
|
+
# Lint::UselessAccessModifier
|
686
|
+
#
|
687
|
+
# Checks for redundant access modifiers, including those with no code,
|
688
|
+
# those which are repeated, and leading `public` modifiers in a class or module body.
|
689
|
+
|
690
|
+
Lint/UselessAccessModifier:
|
691
|
+
Enabled: true
|
692
|
+
|
693
|
+
# Lint::UselessAssignment
|
694
|
+
#
|
695
|
+
# Checks for every useless assignment to local variable in every scope.
|
696
|
+
|
697
|
+
Lint/UselessAssignment:
|
698
|
+
Enabled: true
|
699
|
+
|
700
|
+
# Lint::UselessComparison
|
701
|
+
#
|
702
|
+
# Checks for comparison of something with itself.
|
703
|
+
|
704
|
+
Lint/UselessComparison:
|
705
|
+
Enabled: true
|
706
|
+
|
707
|
+
# Lint::UselessElseWithoutRescue
|
708
|
+
#
|
709
|
+
# Checks for useless `else` in `begin..end` without `rescue`
|
710
|
+
#
|
711
|
+
# Example:
|
712
|
+
#
|
713
|
+
# begin
|
714
|
+
# do_something
|
715
|
+
# else
|
716
|
+
# handle_errors #this will never be run.
|
717
|
+
# end
|
718
|
+
|
719
|
+
Lint/UselessElseWithoutRescue:
|
720
|
+
Enabled: true
|
721
|
+
|
722
|
+
# Lint::UselessSetterCall
|
723
|
+
#
|
724
|
+
# Checks for a setter call to local variable as the final expression of a function definition
|
725
|
+
|
726
|
+
Lint/UselessSetterCall:
|
727
|
+
Enabled: true
|
728
|
+
|
729
|
+
|
730
|
+
# Lint::Void
|
731
|
+
#
|
732
|
+
# Checks for operators, variables and literals used in void context.
|
733
|
+
#
|
734
|
+
# bad:
|
735
|
+
#
|
736
|
+
# def some_method
|
737
|
+
# some_num * 10
|
738
|
+
# do_something
|
739
|
+
# end
|
740
|
+
#
|
741
|
+
# good:
|
742
|
+
#
|
743
|
+
# def some_method
|
744
|
+
# do_something
|
745
|
+
# some_num * 10
|
746
|
+
# end
|
747
|
+
#
|
748
|
+
Lint/Void:
|
749
|
+
Enabled: false
|