pluck_all 2.0.3 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c81452c77b812b47946aa8f1b7d8d42722724707
4
- data.tar.gz: 1eb4b3f65fd32ecd32065f0cb34938759c3a7ac8
2
+ SHA256:
3
+ metadata.gz: 9205cb355255151e1f3140349018afe9e7b75384b9677541fba84fcc1d5d009e
4
+ data.tar.gz: 10a8c03b49c5791d8ee56ce05399bebc1b2105bff7a084a7ed7975a4b6b5170b
5
5
  SHA512:
6
- metadata.gz: ec691ecc0da995f34ac68785b8d9d36318e008435a9847301e6cea6769e5fa9e998fbb439fe1c0facf9f7c41dc6656b5b42bcfd146de329f0557cbb7ca0f18ce
7
- data.tar.gz: 72302a9cfacab2337a4919eb1f7f69ffc6003c47c804231eb91ceac46847f94e2948de4c514cedcbe6fc0452eefc0e728b7928fc71368bacf26475a314dc475f
6
+ metadata.gz: 94f7f7e97bb0ed041a5ebc507799b1343f57d8bce81906385a561c6d1ff8cbdf600d18a0d76a1e22931ec172d283cc1ee7fcd66e76c7b630178332ff396c41cf
7
+ data.tar.gz: a642c2d5f31471f4ee0180d478f34ed0413e02472e10f36ff65bbbfa6fd2dd77c3ef0b00172c3185c3c278e10b15273ca7fc07e6eb95ba41506299430ec4079c
@@ -0,0 +1,101 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ paths-ignore:
6
+ - 'README.md'
7
+ - 'CHANGELOG.md'
8
+ pull_request:
9
+ branches: [ master ]
10
+ paths-ignore:
11
+ - 'README.md'
12
+ - 'CHANGELOG.md'
13
+
14
+ jobs:
15
+ test:
16
+ runs-on: ubuntu-latest
17
+ name: Test
18
+ if: "contains(github.event.commits[0].message, '[ci skip]') == false"
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ orm:
23
+ - ACTIVE_RECORD
24
+ - MONGOID
25
+ ruby:
26
+ - 2.2
27
+ - 2.6
28
+ - 2.7
29
+ gemfile:
30
+ - active_record_32.gemfile
31
+ - active_record_42.gemfile
32
+ - active_record_50.gemfile
33
+ - active_record_51.gemfile
34
+ - active_record_52.gemfile
35
+ - active_record_60.gemfile
36
+ - active_record_61.gemfile
37
+ - mongoid_54.gemfile
38
+ - mongoid_64.gemfile
39
+ - mongoid_70.gemfile
40
+ exclude:
41
+ - gemfile: active_record_32.gemfile
42
+ ruby: 2.6
43
+ - gemfile: active_record_32.gemfile
44
+ ruby: 2.7
45
+ - gemfile: active_record_32.gemfile
46
+ orm: MONGOID
47
+ - gemfile: active_record_42.gemfile
48
+ ruby: 2.7
49
+ - gemfile: active_record_42.gemfile
50
+ orm: MONGOID
51
+ - gemfile: active_record_50.gemfile
52
+ orm: MONGOID
53
+ - gemfile: active_record_51.gemfile
54
+ orm: MONGOID
55
+ - gemfile: active_record_52.gemfile
56
+ orm: MONGOID
57
+ - gemfile: active_record_60.gemfile
58
+ ruby: 2.2
59
+ - gemfile: active_record_60.gemfile
60
+ orm: MONGOID
61
+ - gemfile: active_record_61.gemfile
62
+ ruby: 2.2
63
+ - gemfile: active_record_61.gemfile
64
+ orm: MONGOID
65
+ - gemfile: mongoid_54.gemfile
66
+ ruby: 2.7
67
+ - gemfile: mongoid_54.gemfile
68
+ orm: ACTIVE_RECORD
69
+ - gemfile: mongoid_64.gemfile
70
+ orm: ACTIVE_RECORD
71
+ - gemfile: mongoid_70.gemfile
72
+ orm: ACTIVE_RECORD
73
+ env:
74
+ BUNDLE_GEMFILE: "gemfiles/${{ matrix.gemfile }}"
75
+ ORM_TYPE: "${{ matrix.orm }}"
76
+
77
+ services:
78
+ mongodb:
79
+ image: mongo:3.4.23
80
+ ports:
81
+ - 27017:27017
82
+
83
+ steps:
84
+ - name: Checkout
85
+ uses: actions/checkout@v2
86
+ - name: Setup Ruby
87
+ uses: ruby/setup-ruby@v1
88
+ with:
89
+ ruby-version: ${{ matrix.ruby }}
90
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
91
+ - name: Run tests
92
+ if: env.ORM_TYPE == 'ACTIVE_RECORD'
93
+ run: bundle exec rake test_active_record
94
+ - name: Run tests
95
+ if: env.ORM_TYPE == 'MONGOID'
96
+ run: bundle exec rake test_mongoid
97
+ - name: Publish code coverage
98
+ if: ${{ success() }}
99
+ uses: paambaati/codeclimate-action@v2.7.5
100
+ env:
101
+ CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
data/.gitignore CHANGED
@@ -1,10 +1,10 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- *.gemfile.lock
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.gemfile.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,1227 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rails
4
+
5
+ AllCops:
6
+ DisabledByDefault: true
7
+ Exclude: []
8
+
9
+ #################### Lint ################################
10
+
11
+ Lint/AmbiguousOperator:
12
+ Description: >-
13
+ Checks for ambiguous operators in the first argument of a
14
+ method invocation without parentheses.
15
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
16
+ Enabled: true
17
+
18
+ Lint/AmbiguousRegexpLiteral:
19
+ Description: >-
20
+ Checks for ambiguous regexp literals in the first argument of
21
+ a method invocation without parenthesis.
22
+ Enabled: true
23
+
24
+ Lint/AssignmentInCondition:
25
+ Description: "Don't use assignment in conditions."
26
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
27
+ Enabled: true
28
+
29
+ Layout/BlockAlignment:
30
+ Description: 'Align block ends correctly.'
31
+ Enabled: true
32
+
33
+ Lint/CircularArgumentReference:
34
+ Description: "Don't refer to the keyword argument in the default value."
35
+ Enabled: true
36
+
37
+ Layout/ConditionPosition:
38
+ Description: >-
39
+ Checks for condition placed in a confusing position relative to
40
+ the keyword.
41
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
42
+ Enabled: true
43
+
44
+ Lint/Debugger:
45
+ Description: 'Check for debugger calls.'
46
+ Enabled: true
47
+
48
+ Layout/DefEndAlignment:
49
+ Description: 'Align ends corresponding to defs correctly.'
50
+ Enabled: true
51
+
52
+ Lint/DeprecatedClassMethods:
53
+ Description: 'Check for deprecated class method calls.'
54
+ Enabled: true
55
+
56
+ Lint/DuplicateMethods:
57
+ Description: 'Check for duplicate methods calls.'
58
+ Enabled: true
59
+
60
+ Lint/EachWithObjectArgument:
61
+ Description: 'Check for immutable argument given to each_with_object.'
62
+ Enabled: true
63
+
64
+ Lint/ElseLayout:
65
+ Description: 'Check for odd code arrangement in an else block.'
66
+ Enabled: true
67
+
68
+ Lint/EmptyEnsure:
69
+ Description: 'Checks for empty ensure block.'
70
+ Enabled: true
71
+
72
+ Lint/EmptyInterpolation:
73
+ Description: 'Checks for empty string interpolation.'
74
+ Enabled: true
75
+
76
+ Layout/EndAlignment:
77
+ Description: 'Align ends correctly.'
78
+ Enabled: true
79
+
80
+ Lint/EnsureReturn:
81
+ Description: 'Do not use return in an ensure block.'
82
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
83
+ Enabled: true
84
+
85
+ Security/Eval:
86
+ Description: 'The use of eval represents a serious security risk.'
87
+ Enabled: true
88
+
89
+ Lint/FormatParameterMismatch:
90
+ Description: 'The number of parameters to format/sprint must match the fields.'
91
+ Enabled: true
92
+
93
+ Lint/SuppressedException:
94
+ Description: "Don't suppress exception."
95
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
96
+ Enabled: true
97
+
98
+ Lint/LiteralInInterpolation:
99
+ Description: 'Checks for literals used in interpolation.'
100
+ Enabled: true
101
+
102
+ Lint/Loop:
103
+ Description: >-
104
+ Use Kernel#loop with break rather than begin/end/until or
105
+ begin/end/while for post-loop tests.
106
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
107
+ Enabled: true
108
+
109
+ Lint/NestedMethodDefinition:
110
+ Description: 'Do not use nested method definitions.'
111
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
112
+ Enabled: true
113
+
114
+ Lint/NonLocalExitFromIterator:
115
+ Description: 'Do not use return in iterator to cause non-local exit.'
116
+ Enabled: true
117
+
118
+ Lint/ParenthesesAsGroupedExpression:
119
+ Description: >-
120
+ Checks for method calls with a space before the opening
121
+ parenthesis.
122
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
123
+ Enabled: true
124
+
125
+ Lint/RequireParentheses:
126
+ Description: >-
127
+ Use parentheses in the method call to avoid confusion
128
+ about precedence.
129
+ Enabled: true
130
+
131
+ Lint/RescueException:
132
+ Description: 'Avoid rescuing the Exception class.'
133
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
134
+ Enabled: true
135
+
136
+ Lint/ShadowingOuterLocalVariable:
137
+ Description: >-
138
+ Do not use the same name as outer local variable
139
+ for block arguments or block local variables.
140
+ Enabled: true
141
+
142
+ Lint/RedundantStringCoercion:
143
+ Description: 'Checks for Object#to_s usage in string interpolation.'
144
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
145
+ Enabled: true
146
+
147
+ Lint/UnderscorePrefixedVariableName:
148
+ Description: 'Do not use prefix `_` for a variable that is used.'
149
+ Enabled: true
150
+
151
+ Lint/RedundantCopDisableDirective:
152
+ Description: >-
153
+ Checks for rubocop:disable comments that can be removed.
154
+ Note: this cop is not disabled when disabling all cops.
155
+ It must be explicitly disabled.
156
+ Enabled: true
157
+
158
+ Lint/UnusedBlockArgument:
159
+ Description: 'Checks for unused block arguments.'
160
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
161
+ Enabled: true
162
+
163
+ Lint/UnusedMethodArgument:
164
+ Description: 'Checks for unused method arguments.'
165
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
166
+ Enabled: true
167
+
168
+ Lint/UnreachableCode:
169
+ Description: 'Unreachable code.'
170
+ Enabled: true
171
+
172
+ Lint/UselessAccessModifier:
173
+ Description: 'Checks for useless access modifiers.'
174
+ Enabled: true
175
+
176
+ Lint/UselessAssignment:
177
+ Description: 'Checks for useless assignment to a local variable.'
178
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
179
+ Enabled: true
180
+
181
+ Lint/BinaryOperatorWithIdenticalOperands:
182
+ Description: 'This cop checks for places where binary operator has identical operands.'
183
+ Enabled: true
184
+
185
+ Lint/UselessElseWithoutRescue:
186
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
187
+ Enabled: true
188
+
189
+ Lint/UselessSetterCall:
190
+ Description: 'Checks for useless setter call to a local variable.'
191
+ Enabled: true
192
+
193
+ Lint/Void:
194
+ Description: 'Possible use of operator/literal/variable in void context.'
195
+ Enabled: true
196
+
197
+ ###################### Metrics ####################################
198
+
199
+ Metrics/AbcSize:
200
+ Description: >-
201
+ A calculated magnitude based on number of assignments,
202
+ branches, and conditions.
203
+ Reference: 'http://c2.com/cgi/wiki?AbcMetric'
204
+ Enabled: true
205
+ Max: 25
206
+
207
+ Metrics/BlockNesting:
208
+ Description: 'Avoid excessive block nesting'
209
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
210
+ Enabled: true
211
+ Max: 4
212
+
213
+ Metrics/ClassLength:
214
+ Description: 'Avoid classes longer than 250 lines of code.'
215
+ Enabled: true
216
+ Max: 250
217
+
218
+ Metrics/CyclomaticComplexity:
219
+ Description: >-
220
+ A complexity metric that is strongly correlated to the number
221
+ of test cases needed to validate a method.
222
+ Enabled: true
223
+
224
+ Layout/LineLength:
225
+ Description: 'Limit lines to 120 characters.'
226
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
227
+ Max: 120
228
+ Enabled: true
229
+ Exclude:
230
+ - 'config/locales/**'
231
+
232
+ Metrics/MethodLength:
233
+ Description: 'Avoid methods longer than 30 lines of code.'
234
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
235
+ Enabled: true
236
+ Max: 30
237
+
238
+ Metrics/ModuleLength:
239
+ Description: 'Avoid modules longer than 250 lines of code.'
240
+ Enabled: true
241
+ Max: 250
242
+
243
+ Metrics/ParameterLists:
244
+ Description: 'Avoid parameter lists longer than three or four parameters.'
245
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
246
+ Enabled: true
247
+
248
+ Metrics/PerceivedComplexity:
249
+ Description: >-
250
+ A complexity metric geared towards measuring complexity for a
251
+ human reader.
252
+ Enabled: true
253
+
254
+ ##################### Performance #############################
255
+
256
+ Performance/Count:
257
+ Description: >-
258
+ Use `count` instead of `select...size`, `reject...size`,
259
+ `select...count`, `reject...count`, `select...length`,
260
+ and `reject...length`.
261
+ Enabled: true
262
+
263
+ Performance/Detect:
264
+ Description: >-
265
+ Use `detect` instead of `select.first`, `find_all.first`,
266
+ `select.last`, and `find_all.last`.
267
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
268
+ Enabled: true
269
+
270
+ Performance/FlatMap:
271
+ Description: >-
272
+ Use `Enumerable#flat_map`
273
+ instead of `Enumerable#map...Array#flatten(1)`
274
+ or `Enumberable#collect..Array#flatten(1)`
275
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
276
+ Enabled: true
277
+ EnabledForFlattenWithoutParams: false
278
+ # If enabled, this cop will warn about usages of
279
+ # `flatten` being called without any parameters.
280
+ # This can be dangerous since `flat_map` will only flatten 1 level, and
281
+ # `flatten` without any parameters can flatten multiple levels.
282
+
283
+ Performance/ReverseEach:
284
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
285
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
286
+ Enabled: true
287
+
288
+ Style/Sample:
289
+ Description: >-
290
+ Use `sample` instead of `shuffle.first`,
291
+ `shuffle.last`, and `shuffle[Fixnum]`.
292
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
293
+ Enabled: true
294
+
295
+ Performance/Size:
296
+ Description: >-
297
+ Use `size` instead of `count` for counting
298
+ the number of elements in `Array` and `Hash`.
299
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
300
+ Enabled: true
301
+
302
+ Performance/StringReplacement:
303
+ Description: >-
304
+ Use `tr` instead of `gsub` when you are replacing the same
305
+ number of characters. Use `delete` instead of `gsub` when
306
+ you are deleting characters.
307
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
308
+ Enabled: true
309
+
310
+ ##################### Rails ##################################
311
+
312
+ Rails/ActionFilter:
313
+ Description: 'Enforces consistent use of action filter methods.'
314
+ Enabled: true
315
+
316
+ Rails/Date:
317
+ Description: >-
318
+ Checks the correct usage of date aware methods,
319
+ such as Date.today, Date.current etc.
320
+ Enabled: true
321
+
322
+ Rails/Delegate:
323
+ Description: 'Prefer delegate method for delegations.'
324
+ Enabled: true
325
+
326
+ Rails/FindBy:
327
+ Description: 'Prefer find_by over where.first.'
328
+ Enabled: true
329
+
330
+ Rails/FindEach:
331
+ Description: 'Prefer all.find_each over all.find.'
332
+ Enabled: true
333
+
334
+ Rails/HasAndBelongsToMany:
335
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
336
+ Enabled: true
337
+
338
+ Rails/Output:
339
+ Description: 'Checks for calls to puts, print, etc.'
340
+ Enabled: true
341
+
342
+ Rails/ReadWriteAttribute:
343
+ Description: >-
344
+ Checks for read_attribute(:attr) and
345
+ write_attribute(:attr, val).
346
+ Enabled: true
347
+
348
+ Rails/ScopeArgs:
349
+ Description: 'Checks the arguments of ActiveRecord scopes.'
350
+ Enabled: true
351
+
352
+ Rails/TimeZone:
353
+ Description: 'Checks the correct usage of time zone aware methods.'
354
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
355
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
356
+ Enabled: false
357
+
358
+ Rails/Validation:
359
+ Description: 'Use validates :attribute, hash of validations.'
360
+ Enabled: true
361
+
362
+ ################## Style #################################
363
+
364
+ Layout/AccessModifierIndentation:
365
+ Description: Check indentation of private/protected visibility modifiers.
366
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
367
+ Enabled: true
368
+
369
+ Naming/AccessorMethodName:
370
+ Description: Check the naming of accessor methods for get_/set_.
371
+ Enabled: false
372
+
373
+ Style/Alias:
374
+ Description: 'Use alias_method instead of alias.'
375
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
376
+ Enabled: true
377
+
378
+ Layout/ArrayAlignment:
379
+ Description: >-
380
+ Align the elements of an array literal if they span more than
381
+ one line.
382
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
383
+ Enabled: true
384
+
385
+ Layout/HashAlignment:
386
+ Description: >-
387
+ Align the elements of a hash literal if they span more than
388
+ one line.
389
+ EnforcedHashRocketStyle: table
390
+ Enabled: true
391
+
392
+ Layout/ParameterAlignment:
393
+ Description: >-
394
+ Align the parameters of a method call if they span more
395
+ than one line.
396
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
397
+ Enabled: true
398
+
399
+ Style/AndOr:
400
+ Description: 'Use &&/|| instead of and/or.'
401
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
402
+ Enabled: false
403
+
404
+ Style/ArrayJoin:
405
+ Description: 'Use Array#join instead of Array#*.'
406
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
407
+ Enabled: true
408
+
409
+ Style/AsciiComments:
410
+ Description: 'Use only ascii symbols in comments.'
411
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
412
+ Enabled: false
413
+
414
+ Naming/AsciiIdentifiers:
415
+ Description: 'Use only ascii symbols in identifiers.'
416
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
417
+ Enabled: true
418
+
419
+ Style/Attr:
420
+ Description: 'Checks for uses of Module#attr.'
421
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
422
+ Enabled: true
423
+
424
+ Style/BeginBlock:
425
+ Description: 'Avoid the use of BEGIN blocks.'
426
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
427
+ Enabled: true
428
+
429
+ Style/BarePercentLiterals:
430
+ Description: 'Checks if usage of %() or %Q() matches configuration.'
431
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
432
+ Enabled: true
433
+
434
+ Style/BlockComments:
435
+ Description: 'Do not use block comments.'
436
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
437
+ Enabled: true
438
+
439
+ Layout/BlockEndNewline:
440
+ Description: 'Put end statement of multiline block on its own line.'
441
+ Enabled: true
442
+
443
+ Style/BlockDelimiters:
444
+ Description: >-
445
+ Avoid using {...} for multi-line blocks (multiline chaining is
446
+ always ugly).
447
+ Prefer {...} over do...end for single-line blocks.
448
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
449
+ Enabled: true
450
+
451
+ Style/CaseEquality:
452
+ Description: 'Avoid explicit use of the case equality operator(===).'
453
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
454
+ Enabled: true
455
+
456
+ Layout/CaseIndentation:
457
+ Description: 'Indentation of when in a case/when/[else/]end.'
458
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
459
+ Enabled: true
460
+
461
+ Style/CharacterLiteral:
462
+ Description: 'Checks for uses of character literals.'
463
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
464
+ Enabled: true
465
+
466
+ Naming/ClassAndModuleCamelCase:
467
+ Description: 'Use CamelCase for classes and modules.'
468
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
469
+ Enabled: true
470
+
471
+ Style/ClassAndModuleChildren:
472
+ Description: 'Checks style of children classes and modules.'
473
+ Enabled: false
474
+
475
+ Style/ClassCheck:
476
+ Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
477
+ Enabled: true
478
+
479
+ Style/ClassMethods:
480
+ Description: 'Use self when defining module/class methods.'
481
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
482
+ Enabled: true
483
+
484
+ Style/ClassVars:
485
+ Description: 'Avoid the use of class variables.'
486
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
487
+ Enabled: true
488
+
489
+ Layout/ClosingParenthesisIndentation:
490
+ Description: 'Checks the indentation of hanging closing parentheses.'
491
+ Enabled: true
492
+
493
+ Style/ColonMethodCall:
494
+ Description: 'Do not use :: for method call.'
495
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
496
+ Enabled: true
497
+
498
+ Style/CommandLiteral:
499
+ Description: 'Use `` or %x around command literals.'
500
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
501
+ Enabled: true
502
+
503
+ Style/CommentAnnotation:
504
+ Description: 'Checks formatting of annotation comments.'
505
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
506
+ Enabled: true
507
+
508
+ Layout/CommentIndentation:
509
+ Description: 'Indentation of comments.'
510
+ Enabled: true
511
+
512
+ Naming/ConstantName:
513
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
514
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
515
+ Enabled: true
516
+
517
+ Style/DefWithParentheses:
518
+ Description: 'Use def with parentheses when there are arguments.'
519
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
520
+ Enabled: true
521
+
522
+ Style/PreferredHashMethods:
523
+ Description: 'Checks for use of deprecated Hash methods.'
524
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
525
+ Enabled: true
526
+
527
+ Style/Documentation:
528
+ Description: 'Document classes and non-namespace modules.'
529
+ Enabled: false
530
+
531
+ Layout/DotPosition:
532
+ Description: 'Checks the position of the dot in multi-line method calls.'
533
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
534
+ Enabled: true
535
+
536
+ Style/DoubleNegation:
537
+ Description: 'Checks for uses of double negation (!!).'
538
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
539
+ Enabled: true
540
+
541
+ Style/EachWithObject:
542
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
543
+ Enabled: true
544
+
545
+ Layout/ElseAlignment:
546
+ Description: 'Align elses and elsifs correctly.'
547
+ Enabled: true
548
+
549
+ Style/EmptyElse:
550
+ Description: 'Avoid empty else-clauses.'
551
+ Enabled: true
552
+
553
+ Layout/EmptyLineBetweenDefs:
554
+ Description: 'Use empty lines between defs.'
555
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
556
+ Enabled: true
557
+
558
+ Layout/EmptyLines:
559
+ Description: "Don't use several empty lines in a row."
560
+ Enabled: true
561
+
562
+ Layout/EmptyLinesAroundAccessModifier:
563
+ Description: "Keep blank lines around access modifiers."
564
+ Enabled: true
565
+
566
+ Layout/EmptyLinesAroundBlockBody:
567
+ Description: "Keeps track of empty lines around block bodies."
568
+ Enabled: true
569
+
570
+ Layout/EmptyLinesAroundClassBody:
571
+ Description: "Keeps track of empty lines around class bodies."
572
+ Enabled: true
573
+
574
+ Layout/EmptyLinesAroundModuleBody:
575
+ Description: "Keeps track of empty lines around module bodies."
576
+ Enabled: true
577
+
578
+ Layout/EmptyLinesAroundMethodBody:
579
+ Description: "Keeps track of empty lines around method bodies."
580
+ Enabled: true
581
+
582
+ Style/EmptyLiteral:
583
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
584
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
585
+ Enabled: true
586
+
587
+ Style/EndBlock:
588
+ Description: 'Avoid the use of END blocks.'
589
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
590
+ Enabled: true
591
+
592
+ Layout/EndOfLine:
593
+ Description: 'Use Unix-style line endings.'
594
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
595
+ Enabled: false
596
+
597
+ Style/EvenOdd:
598
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
599
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
600
+ Enabled: true
601
+
602
+ Layout/ExtraSpacing:
603
+ Description: 'Do not use unnecessary spacing.'
604
+ Enabled: true
605
+
606
+ Naming/FileName:
607
+ Description: 'Use snake_case for source file names.'
608
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
609
+ Enabled: true
610
+
611
+ Layout/InitialIndentation:
612
+ Description: >-
613
+ Checks the indentation of the first non-blank non-comment line in a file.
614
+ Enabled: true
615
+
616
+ Layout/FirstArgumentIndentation:
617
+ Description: 'Checks the indentation of the first parameter in a method call.'
618
+ Enabled: true
619
+
620
+ Lint/FlipFlop:
621
+ Description: 'Checks for flip flops'
622
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
623
+ Enabled: false
624
+
625
+ Style/For:
626
+ Description: 'Checks use of for or each in multiline loops.'
627
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
628
+ Enabled: true
629
+
630
+ Style/FormatString:
631
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
632
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
633
+ EnforcedStyle: percent
634
+ Enabled: true
635
+
636
+ Style/FormatStringToken:
637
+ Enabled: false
638
+
639
+ Style/GlobalVars:
640
+ Description: 'Do not introduce global variables.'
641
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
642
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
643
+ Enabled: true
644
+
645
+ Style/GuardClause:
646
+ Description: 'Check for conditionals that can be replaced with guard clauses'
647
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
648
+ Enabled: true
649
+
650
+ Style/HashSyntax:
651
+ Description: >-
652
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
653
+ { :a => 1, :b => 2 }.
654
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
655
+ Enabled: true
656
+
657
+ Style/IfUnlessModifier:
658
+ Description: >-
659
+ Favor modifier if/unless usage when you have a
660
+ single-line body.
661
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
662
+ Enabled: true
663
+
664
+ Style/IfWithSemicolon:
665
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
666
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
667
+ Enabled: true
668
+
669
+ Layout/IndentationConsistency:
670
+ Description: 'Keep indentation straight.'
671
+ Enabled: true
672
+
673
+ Layout/IndentationWidth:
674
+ Description: 'Use 2 spaces for indentation.'
675
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
676
+ Enabled: true
677
+
678
+ Layout/FirstArrayElementIndentation:
679
+ Description: >-
680
+ Checks the indentation of the first element in an array
681
+ literal.
682
+ EnforcedStyle: consistent
683
+ Enabled: true
684
+
685
+ Layout/FirstHashElementIndentation:
686
+ Description: 'Checks the indentation of the first key in a hash literal.'
687
+ EnforcedStyle: consistent
688
+ Enabled: true
689
+
690
+ Style/InfiniteLoop:
691
+ Description: 'Use Kernel#loop for infinite loops.'
692
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
693
+ Enabled: true
694
+
695
+ Style/Lambda:
696
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
697
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
698
+ Enabled: true
699
+
700
+ Style/LambdaCall:
701
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
702
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
703
+ Enabled: true
704
+
705
+ Layout/LeadingCommentSpace:
706
+ Description: 'Comments should start with a space.'
707
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
708
+ Enabled: true
709
+
710
+ Style/LineEndConcatenation:
711
+ Description: >-
712
+ Use \ instead of + or << to concatenate two string literals at
713
+ line end.
714
+ Enabled: true
715
+
716
+ Style/MethodCallWithoutArgsParentheses:
717
+ Description: 'Do not use parentheses for method calls with no arguments.'
718
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
719
+ Enabled: true
720
+
721
+ Style/MethodDefParentheses:
722
+ Description: >-
723
+ Checks if the method definitions have or don't have
724
+ parentheses.
725
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
726
+ Enabled: true
727
+
728
+ Naming/MethodName:
729
+ Description: 'Use the configured style when naming methods.'
730
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
731
+ Enabled: true
732
+
733
+ Style/ModuleFunction:
734
+ Description: 'Checks for usage of `extend self` in modules.'
735
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
736
+ Enabled: true
737
+
738
+ Style/MultilineBlockChain:
739
+ Description: 'Avoid multi-line chains of blocks.'
740
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
741
+ Enabled: true
742
+
743
+ Layout/MultilineBlockLayout:
744
+ Description: 'Ensures newlines after multiline block do statements.'
745
+ Enabled: true
746
+
747
+ Style/MultilineIfThen:
748
+ Description: 'Do not use then for multi-line if/unless.'
749
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
750
+ Enabled: true
751
+
752
+ Layout/MultilineOperationIndentation:
753
+ Description: >-
754
+ Checks indentation of binary operations that span more than
755
+ one line.
756
+ Enabled: true
757
+
758
+ Style/MultilineTernaryOperator:
759
+ Description: >-
760
+ Avoid multi-line ?: (the ternary operator);
761
+ use if/unless instead.
762
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
763
+ Enabled: true
764
+
765
+ Style/NegatedIf:
766
+ Description: >-
767
+ Favor unless over if for negative conditions
768
+ (or control flow or).
769
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
770
+ Enabled: false
771
+
772
+ Style/NegatedWhile:
773
+ Description: 'Favor until over while for negative conditions.'
774
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
775
+ Enabled: false
776
+
777
+ Style/NestedTernaryOperator:
778
+ Description: 'Use one expression per branch in a ternary operator.'
779
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
780
+ Enabled: true
781
+
782
+ Style/Next:
783
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
784
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
785
+ Enabled: true
786
+
787
+ Style/NilComparison:
788
+ Description: 'Prefer x.nil? to x == nil.'
789
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
790
+ EnforcedStyle: comparison
791
+ Enabled: true
792
+
793
+ Style/NonNilCheck:
794
+ # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
795
+ # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
796
+ # **usually** OK, but might change behavior.
797
+ #
798
+ # With `IncludeSemanticChanges` set to `false`, this cop does not report
799
+ # offenses for `!x.nil?` and does no changes that might change behavior.
800
+ Description: 'Checks for redundant nil checks.'
801
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
802
+ IncludeSemanticChanges: true
803
+ Enabled: false
804
+
805
+ Style/Not:
806
+ Description: 'Use ! instead of not.'
807
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
808
+ Enabled: false
809
+
810
+ Style/NumericLiterals:
811
+ Description: >-
812
+ Add underscores to large numeric literals to improve their
813
+ readability.
814
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
815
+ Enabled: true
816
+
817
+ Style/OneLineConditional:
818
+ Description: >-
819
+ Favor the ternary operator(?:) over
820
+ if/then/else/end constructs.
821
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
822
+ Enabled: true
823
+
824
+ Naming/BinaryOperatorParameterName:
825
+ Description: 'When defining binary operators, name the argument other.'
826
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
827
+ Enabled: true
828
+
829
+ Style/OptionalArguments:
830
+ Description: >-
831
+ Checks for optional arguments that do not appear at the end
832
+ of the argument list
833
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
834
+ Enabled: true
835
+
836
+ Style/ParallelAssignment:
837
+ Description: >-
838
+ Check for simple usages of parallel assignment.
839
+ It will only warn when the number of variables
840
+ matches on both sides of the assignment.
841
+ This also provides performance benefits
842
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
843
+ Enabled: true
844
+
845
+ Style/ParenthesesAroundCondition:
846
+ Description: >-
847
+ Don't use parentheses around the condition of an
848
+ if/unless/while.
849
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
850
+ Enabled: true
851
+
852
+ Style/PercentLiteralDelimiters:
853
+ Description: 'Use `%`-literal delimiters consistently'
854
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
855
+ Enabled: true
856
+
857
+ Style/PercentQLiterals:
858
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
859
+ Enabled: true
860
+
861
+ Style/PerlBackrefs:
862
+ Description: 'Avoid Perl-style regex back references.'
863
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
864
+ Enabled: false
865
+
866
+ Naming/PredicateName:
867
+ Description: 'Check the names of predicate methods.'
868
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
869
+ Enabled: true
870
+
871
+ Style/Proc:
872
+ Description: 'Use proc instead of Proc.new.'
873
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
874
+ Enabled: true
875
+
876
+ Style/RaiseArgs:
877
+ Description: 'Checks the arguments passed to raise/fail.'
878
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
879
+ Enabled: true
880
+
881
+ Style/RedundantBegin:
882
+ Description: "Don't use begin blocks when they are not needed."
883
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
884
+ Enabled: true
885
+
886
+ Style/RedundantException:
887
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
888
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
889
+ Enabled: true
890
+
891
+ Style/RedundantReturn:
892
+ Description: "Don't use return where it's not required."
893
+ # When `true` allows code like `return x, y`.
894
+ AllowMultipleReturnValues: false
895
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
896
+ Enabled: false
897
+
898
+ Style/RedundantSelf:
899
+ Description: "Don't use self where it's not needed."
900
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
901
+ Enabled: true
902
+
903
+ Style/RegexpLiteral:
904
+ Description: 'Use / or %r around regular expressions.'
905
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
906
+ EnforcedStyle: slashes
907
+ AllowInnerSlashes: false
908
+ Enabled: true
909
+
910
+ Layout/RescueEnsureAlignment:
911
+ Description: 'Align rescues and ensures correctly.'
912
+ Enabled: true
913
+
914
+ Style/RescueModifier:
915
+ Description: 'Avoid using rescue in its modifier form.'
916
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
917
+ Enabled: true
918
+
919
+ Style/SelfAssignment:
920
+ Description: >-
921
+ Checks for places where self-assignment shorthand should have
922
+ been used.
923
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
924
+ Enabled: true
925
+
926
+ Style/Semicolon:
927
+ Description: "Don't use semicolons to terminate expressions."
928
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
929
+ Enabled: true
930
+
931
+ Style/SignalException:
932
+ Description: 'Checks for proper usage of fail and raise.'
933
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
934
+ EnforcedStyle: semantic
935
+ Enabled: true
936
+
937
+ Style/SingleLineBlockParams:
938
+ Description: 'Enforces the names of some block params.'
939
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
940
+ Methods:
941
+ - reduce:
942
+ - sum
943
+ - v
944
+ - inject:
945
+ - sum
946
+ - v
947
+ Enabled: true
948
+
949
+ Style/SingleLineMethods:
950
+ Description: 'Avoid single-line methods.'
951
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
952
+ Enabled: true
953
+
954
+ Layout/SpaceBeforeFirstArg:
955
+ Description: >-
956
+ Checks that exactly one space is used between a method name
957
+ and the first argument for method calls without parentheses.
958
+ Enabled: true
959
+
960
+ Layout/SpaceAfterColon:
961
+ Description: 'Use spaces after colons.'
962
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
963
+ Enabled: true
964
+
965
+ Layout/SpaceAfterComma:
966
+ Description: 'Use spaces after commas.'
967
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
968
+ Enabled: true
969
+
970
+ Layout/SpaceAroundKeyword:
971
+ Description: 'Use spaces around keywords.'
972
+ Enabled: true
973
+
974
+ Layout/SpaceAfterMethodName:
975
+ Description: >-
976
+ Do not put a space between a method name and the opening
977
+ parenthesis in a method definition.
978
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
979
+ Enabled: true
980
+
981
+ Layout/SpaceAfterNot:
982
+ Description: Tracks redundant space after the ! operator.
983
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
984
+ Enabled: true
985
+
986
+ Layout/SpaceAfterSemicolon:
987
+ Description: 'Use spaces after semicolons.'
988
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
989
+ Enabled: true
990
+
991
+ Layout/SpaceBeforeBlockBraces:
992
+ Description: >-
993
+ Checks that the left block brace has or doesn't have space
994
+ before it.
995
+ EnforcedStyle: no_space
996
+ Enabled: true
997
+
998
+ Layout/SpaceBeforeComma:
999
+ Description: 'No spaces before commas.'
1000
+ Enabled: true
1001
+
1002
+ Layout/SpaceBeforeComment:
1003
+ Description: >-
1004
+ Checks for missing space between code and a comment on the
1005
+ same line.
1006
+ Enabled: true
1007
+
1008
+ Layout/SpaceBeforeSemicolon:
1009
+ Description: 'No spaces before semicolons.'
1010
+ Enabled: false
1011
+
1012
+ Layout/SpaceInsideBlockBraces:
1013
+ Description: >-
1014
+ Checks that block braces have or don't have surrounding space.
1015
+ For blocks taking parameters, checks that the left brace has
1016
+ or doesn't have trailing space.
1017
+ SpaceBeforeBlockParameters: false
1018
+ Enabled: true
1019
+
1020
+ Layout/SpaceAroundBlockParameters:
1021
+ Description: 'Checks the spacing inside and after block parameters pipes.'
1022
+ Enabled: true
1023
+
1024
+ Layout/SpaceAroundEqualsInParameterDefault:
1025
+ Description: >-
1026
+ Checks that the equals signs in parameter default assignments
1027
+ have or don't have surrounding space depending on
1028
+ configuration.
1029
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1030
+ Enabled: true
1031
+
1032
+ Layout/SpaceAroundOperators:
1033
+ Description: 'Use a single space around operators.'
1034
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1035
+ Enabled: true
1036
+
1037
+ Layout/SpaceInsideArrayLiteralBrackets:
1038
+ Description: 'Checks the spacing inside array literal brackets.'
1039
+ Enabled: true
1040
+ EnforcedStyle: no_space
1041
+ SupportedStyles:
1042
+ - space
1043
+ - no_space
1044
+ # 'compact' normally requires a space inside the brackets, with the exception
1045
+ # that successive left brackets or right brackets are collapsed together
1046
+ - compact
1047
+ EnforcedStyleForEmptyBrackets: no_space
1048
+ SupportedStylesForEmptyBrackets:
1049
+ - space
1050
+ - no_space
1051
+
1052
+ Layout/SpaceInsideReferenceBrackets:
1053
+ Description: 'Checks the spacing inside referential brackets.'
1054
+ Enabled: true
1055
+ EnforcedStyle: no_space
1056
+ SupportedStyles:
1057
+ - space
1058
+ - no_space
1059
+ EnforcedStyleForEmptyBrackets: no_space
1060
+ SupportedStylesForEmptyBrackets:
1061
+ - space
1062
+ - no_space
1063
+
1064
+ Layout/SpaceInsideHashLiteralBraces:
1065
+ Description: "Use spaces inside hash literal braces - or don't."
1066
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1067
+ # SupportedStyles:
1068
+ # - space
1069
+ # - no_space
1070
+ # # 'compact' normally requires a space inside hash braces, with the exception
1071
+ # # that successive left braces or right braces are collapsed together
1072
+ # - compact
1073
+ EnforcedStyle: compact
1074
+ Enabled: true
1075
+
1076
+ Layout/SpaceInsideParens:
1077
+ Description: 'No spaces after ( or before ).'
1078
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1079
+ Enabled: true
1080
+
1081
+ Layout/SpaceInsideRangeLiteral:
1082
+ Description: 'No spaces inside range literals.'
1083
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1084
+ Enabled: true
1085
+
1086
+ Layout/SpaceInsideStringInterpolation:
1087
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1088
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1089
+ Enabled: true
1090
+
1091
+ Style/SpecialGlobalVars:
1092
+ Description: 'Avoid Perl-style global variables.'
1093
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1094
+ Enabled: true
1095
+
1096
+ Style/StringLiterals:
1097
+ Description: 'Checks if uses of quotes match the configured preference.'
1098
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1099
+ Enabled: true
1100
+
1101
+ Style/StringLiteralsInInterpolation:
1102
+ Description: >-
1103
+ Checks if uses of quotes inside expressions in interpolated
1104
+ strings match the configured preference.
1105
+ Enabled: true
1106
+
1107
+ Style/StructInheritance:
1108
+ Description: 'Checks for inheritance from Struct.new.'
1109
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1110
+ Enabled: true
1111
+
1112
+ Style/SymbolLiteral:
1113
+ Description: 'Use plain symbols instead of string symbols when possible.'
1114
+ Enabled: true
1115
+
1116
+ Style/SymbolProc:
1117
+ Description: 'Use symbols as procs instead of blocks when possible.'
1118
+ Enabled: true
1119
+
1120
+ Layout/IndentationStyle:
1121
+ Description: 'No hard tabs.'
1122
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1123
+ Enabled: true
1124
+
1125
+ Layout/TrailingEmptyLines:
1126
+ Description: 'Checks trailing blank lines and final newline.'
1127
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
1128
+ Enabled: true
1129
+
1130
+ Style/TrailingCommaInArguments:
1131
+ # If `comma`, the cop requires a comma after the last argument, but only for
1132
+ # parenthesized method calls where each argument is on its own line.
1133
+ # If `comma_for_multiple_args`, the cop behaves like `comma` except when
1134
+ # there's only one argument, in which case it requires that there's no
1135
+ # trailing comma.
1136
+ # If `consistent_comma`, the cop requires a comma after the last argument,
1137
+ # for all parenthesized method calls with arguments.
1138
+ Description: 'Checks for trailing comma in parameter lists.'
1139
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1140
+ EnforcedStyleForMultiline: comma
1141
+ Enabled: true
1142
+
1143
+ Style/TrailingCommaInArrayLiteral:
1144
+ Description: 'Checks for trailing comma in array literals.'
1145
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1146
+ EnforcedStyleForMultiline: comma
1147
+ SupportedStylesForMultiline:
1148
+ - comma
1149
+ - consistent_comma
1150
+ - no_comma
1151
+ Enabled: true
1152
+
1153
+ Style/TrailingCommaInHashLiteral:
1154
+ Description: 'Checks for trailing comma in hash literals.'
1155
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1156
+ EnforcedStyleForMultiline: comma
1157
+ SupportedStylesForMultiline:
1158
+ - comma
1159
+ - consistent_comma
1160
+ - no_comma
1161
+ Enabled: true
1162
+
1163
+ Layout/TrailingWhitespace:
1164
+ Description: 'Avoid trailing whitespace.'
1165
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1166
+ Enabled: true
1167
+
1168
+ Style/TrivialAccessors:
1169
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
1170
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1171
+ Enabled: true
1172
+
1173
+ Style/UnlessElse:
1174
+ Description: >-
1175
+ Do not use unless with else. Rewrite these with the positive
1176
+ case first.
1177
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1178
+ Enabled: true
1179
+
1180
+ Style/RedundantCapitalW:
1181
+ Description: 'Checks for %W when interpolation is not needed.'
1182
+ Enabled: true
1183
+
1184
+ Style/RedundantPercentQ:
1185
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1186
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1187
+ Enabled: true
1188
+
1189
+ Style/TrailingUnderscoreVariable:
1190
+ Description: >-
1191
+ Checks for the usage of unneeded trailing underscores at the
1192
+ end of parallel variable assignment.
1193
+ Enabled: true
1194
+
1195
+ Style/VariableInterpolation:
1196
+ Description: >-
1197
+ Don't interpolate global, instance and class variables
1198
+ directly in strings.
1199
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1200
+ Enabled: true
1201
+
1202
+ Naming/VariableName:
1203
+ Description: 'Use the configured style when naming variables.'
1204
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1205
+ Enabled: true
1206
+
1207
+ Style/WhenThen:
1208
+ Description: 'Use when x then ... for one-line cases.'
1209
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1210
+ Enabled: false
1211
+
1212
+ Style/WhileUntilDo:
1213
+ Description: 'Checks for redundant do after while or until.'
1214
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1215
+ Enabled: true
1216
+
1217
+ Style/WhileUntilModifier:
1218
+ Description: >-
1219
+ Favor modifier while/until usage when you have a
1220
+ single-line body.
1221
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1222
+ Enabled: true
1223
+
1224
+ Style/WordArray:
1225
+ Description: 'Use %w or %W for arrays of words.'
1226
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1227
+ Enabled: true