parxer 0.1.1

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.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +14 -0
  4. data/.hound.yml +4 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +1038 -0
  7. data/.ruby-version +1 -0
  8. data/.travis.yml +12 -0
  9. data/CHANGELOG.md +13 -0
  10. data/Gemfile +4 -0
  11. data/Guardfile +5 -0
  12. data/LICENSE.txt +21 -0
  13. data/README.md +140 -0
  14. data/Rakefile +5 -0
  15. data/bin/console +14 -0
  16. data/bin/setup +8 -0
  17. data/docs/images/parxer-response.png +0 -0
  18. data/docs/images/superheroes-xls.png +0 -0
  19. data/lib/parxer.rb +10 -0
  20. data/lib/parxer/collections/attributes.rb +16 -0
  21. data/lib/parxer/collections/callbacks.rb +22 -0
  22. data/lib/parxer/collections/row_errors.rb +19 -0
  23. data/lib/parxer/collections/validators.rb +34 -0
  24. data/lib/parxer/dsl/dsl.rb +92 -0
  25. data/lib/parxer/formatters/base_formatter.rb +39 -0
  26. data/lib/parxer/formatters/boolean_formatter.rb +14 -0
  27. data/lib/parxer/formatters/custom_formatter.rb +13 -0
  28. data/lib/parxer/formatters/number_formatter.rb +25 -0
  29. data/lib/parxer/formatters/rut_formatter.rb +33 -0
  30. data/lib/parxer/formatters/string_formatter.rb +9 -0
  31. data/lib/parxer/parsers/base_parser.rb +80 -0
  32. data/lib/parxer/parsers/concerns/attributes.rb +25 -0
  33. data/lib/parxer/parsers/concerns/callback.rb +24 -0
  34. data/lib/parxer/parsers/concerns/config.rb +23 -0
  35. data/lib/parxer/parsers/concerns/formatter.rb +14 -0
  36. data/lib/parxer/parsers/concerns/validator.rb +75 -0
  37. data/lib/parxer/parsers/csv_parser.rb +13 -0
  38. data/lib/parxer/parsers/xls_parser.rb +21 -0
  39. data/lib/parxer/utils/context.rb +26 -0
  40. data/lib/parxer/utils/errors.rb +10 -0
  41. data/lib/parxer/utils/formatter_builder.rb +16 -0
  42. data/lib/parxer/utils/inherited_resource.rb +35 -0
  43. data/lib/parxer/utils/row_builder.rb +22 -0
  44. data/lib/parxer/validators/base_validator.rb +22 -0
  45. data/lib/parxer/validators/boolean_validator.rb +13 -0
  46. data/lib/parxer/validators/columns_validator.rb +19 -0
  47. data/lib/parxer/validators/custom_validator.rb +17 -0
  48. data/lib/parxer/validators/datetime_validator.rb +54 -0
  49. data/lib/parxer/validators/email_validator.rb +14 -0
  50. data/lib/parxer/validators/file_format_validator.rb +18 -0
  51. data/lib/parxer/validators/file_presence_validator.rb +9 -0
  52. data/lib/parxer/validators/inclusion_validator.rb +26 -0
  53. data/lib/parxer/validators/number_validator.rb +63 -0
  54. data/lib/parxer/validators/presence_validator.rb +9 -0
  55. data/lib/parxer/validators/rows_count_validator.rb +9 -0
  56. data/lib/parxer/validators/rut_validator.rb +32 -0
  57. data/lib/parxer/validators/url_validator.rb +11 -0
  58. data/lib/parxer/values/attribute.rb +19 -0
  59. data/lib/parxer/values/callback.rb +22 -0
  60. data/lib/parxer/values/row.rb +17 -0
  61. data/lib/parxer/version.rb +3 -0
  62. data/parxer.gemspec +32 -0
  63. metadata +247 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e3254845b5ac8740dd2c7f0e4591ed1c987b1221
4
+ data.tar.gz: 97f2a62a5dc35a40df59a716d74cb35baa3b4ef5
5
+ SHA512:
6
+ metadata.gz: 7e21627e90165ad9a0507503f72b73e98d553aa5d79f74f05216b6c17150a20f983910b45844ad7475924170c9d4076ff648371dde5b9bf6a8d57f53d654b5fc
7
+ data.tar.gz: f4ed653e886c409a312d5bc914a35bfaa5a5c3a515e0cc1651561023ed3c39043d2074cedc6415ad600bfee1ea01843a02eeab610145b6f1da7abadcfdd035c6
@@ -0,0 +1 @@
1
+ service_name: travis-ci
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
13
+ test.rb
14
+ TODO
@@ -0,0 +1,4 @@
1
+ ---
2
+ ruby:
3
+ enabled: true
4
+ config_file: ".rubocop.yml"
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,1038 @@
1
+ AllCops:
2
+ Include:
3
+ - "**/*.rake"
4
+ - "**/Gemfile"
5
+ - "**/Rakefile"
6
+ Exclude:
7
+ - "vendor/**/*"
8
+ - "db/**/*"
9
+ - "bin/**/*"
10
+ DisplayCopNames: false
11
+ StyleGuideCopsOnly: false
12
+ TargetRubyVersion: 2.3
13
+ Layout/AccessModifierIndentation:
14
+ Description: Check indentation of private/protected visibility modifiers.
15
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
16
+ Enabled: true
17
+ EnforcedStyle: indent
18
+ SupportedStyles:
19
+ - outdent
20
+ - indent
21
+ Layout/AlignHash:
22
+ Description: Align the elements of a hash literal if they span more than one line.
23
+ Enabled: true
24
+ EnforcedHashRocketStyle: key
25
+ EnforcedColonStyle: key
26
+ EnforcedLastArgumentHashStyle: always_inspect
27
+ SupportedLastArgumentHashStyles:
28
+ - always_inspect
29
+ - always_ignore
30
+ - ignore_implicit
31
+ - ignore_explicit
32
+ Layout/AlignParameters:
33
+ Description: Align the parameters of a method call if they span more than one line.
34
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
35
+ Enabled: true
36
+ EnforcedStyle: with_fixed_indentation
37
+ SupportedStyles:
38
+ - with_first_parameter
39
+ - with_fixed_indentation
40
+ Style/AndOr:
41
+ Description: Use &&/|| instead of and/or.
42
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
43
+ Enabled: true
44
+ EnforcedStyle: always
45
+ SupportedStyles:
46
+ - always
47
+ - conditionals
48
+ Style/BarePercentLiterals:
49
+ Description: Checks if usage of %() or %Q() matches configuration.
50
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand
51
+ Enabled: true
52
+ EnforcedStyle: bare_percent
53
+ SupportedStyles:
54
+ - percent_q
55
+ - bare_percent
56
+ Metrics/BlockLength:
57
+ Enabled: false
58
+ Style/BracesAroundHashParameters:
59
+ Description: Enforce braces style around hash parameters.
60
+ Enabled: true
61
+ EnforcedStyle: no_braces
62
+ SupportedStyles:
63
+ - braces
64
+ - no_braces
65
+ - context_dependent
66
+ Layout/CaseIndentation:
67
+ Description: Indentation of when in a case/when/[else/]end.
68
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
69
+ Enabled: true
70
+ EnforcedStyle: case
71
+ SupportedStyles:
72
+ - case
73
+ - end
74
+ IndentOneStep: false
75
+ Style/ClassAndModuleChildren:
76
+ Description: Checks style of children classes and modules.
77
+ Enabled: false
78
+ EnforcedStyle: nested
79
+ SupportedStyles:
80
+ - nested
81
+ - compact
82
+ Style/ClassCheck:
83
+ Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
84
+ Enabled: true
85
+ EnforcedStyle: is_a?
86
+ SupportedStyles:
87
+ - is_a?
88
+ - kind_of?
89
+ Style/CollectionMethods:
90
+ Description: Preferred collection methods.
91
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
92
+ Enabled: false
93
+ PreferredMethods:
94
+ collect: map
95
+ collect!: map!
96
+ inject: reduce
97
+ detect: find
98
+ find_all: select
99
+ find: detect
100
+ Style/CommentAnnotation:
101
+ Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK,
102
+ REVIEW).
103
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
104
+ Enabled: false
105
+ Keywords:
106
+ - TODO
107
+ - FIXME
108
+ - OPTIMIZE
109
+ - HACK
110
+ - REVIEW
111
+ Layout/DotPosition:
112
+ Description: Checks the position of the dot in multi-line method calls.
113
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
114
+ Enabled: true
115
+ EnforcedStyle: leading
116
+ SupportedStyles:
117
+ - leading
118
+ - trailing
119
+ Layout/EmptyLineBetweenDefs:
120
+ Description: Use empty lines between defs.
121
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods
122
+ Enabled: true
123
+ AllowAdjacentOneLineDefs: false
124
+ Layout/EmptyLinesAroundBlockBody:
125
+ Description: Keeps track of empty lines around block bodies.
126
+ Enabled: true
127
+ EnforcedStyle: no_empty_lines
128
+ SupportedStyles:
129
+ - empty_lines
130
+ - no_empty_lines
131
+ Layout/EmptyLinesAroundClassBody:
132
+ Description: Keeps track of empty lines around class bodies.
133
+ Enabled: true
134
+ EnforcedStyle: no_empty_lines
135
+ SupportedStyles:
136
+ - empty_lines
137
+ - no_empty_lines
138
+ Layout/EmptyLinesAroundModuleBody:
139
+ Description: Keeps track of empty lines around module bodies.
140
+ Enabled: true
141
+ EnforcedStyle: no_empty_lines
142
+ SupportedStyles:
143
+ - empty_lines
144
+ - no_empty_lines
145
+ Style/Encoding:
146
+ Description: Use UTF-8 as the source file encoding.
147
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#utf-8
148
+ Enabled: false
149
+ EnforcedStyle: always
150
+ SupportedStyles:
151
+ - when_needed
152
+ - always
153
+ Style/FileName:
154
+ Description: Use snake_case for source file names.
155
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
156
+ Enabled: false
157
+ Exclude: []
158
+ Layout/FirstParameterIndentation:
159
+ Description: Checks the indentation of the first parameter in a method call.
160
+ Enabled: true
161
+ EnforcedStyle: special_for_inner_method_call_in_parentheses
162
+ SupportedStyles:
163
+ - consistent
164
+ - special_for_inner_method_call
165
+ - special_for_inner_method_call_in_parentheses
166
+ Style/For:
167
+ Description: Checks use of for or each in multiline loops.
168
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-for-loops
169
+ Enabled: true
170
+ EnforcedStyle: each
171
+ SupportedStyles:
172
+ - for
173
+ - each
174
+ Style/FormatString:
175
+ Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
176
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
177
+ Enabled: false
178
+ EnforcedStyle: format
179
+ SupportedStyles:
180
+ - format
181
+ - sprintf
182
+ - percent
183
+ Style/FrozenStringLiteralComment:
184
+ Enabled: false
185
+ Style/GlobalVars:
186
+ Description: Do not introduce global variables.
187
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
188
+ Enabled: false
189
+ AllowedVariables: []
190
+ Style/GuardClause:
191
+ Description: Check for conditionals that can be replaced with guard clauses
192
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
193
+ Enabled: false
194
+ MinBodyLength: 1
195
+ Style/HashSyntax:
196
+ Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a =>
197
+ 1, :b => 2 }.'
198
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-literals
199
+ Enabled: true
200
+ EnforcedStyle: ruby19
201
+ SupportedStyles:
202
+ - ruby19
203
+ - hash_rockets
204
+ Style/IfUnlessModifier:
205
+ Description: Favor modifier if/unless usage when you have a single-line body.
206
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
207
+ Enabled: false
208
+ MaxLineLength: 80
209
+ Layout/IndentationWidth:
210
+ Description: Use 2 spaces for indentation.
211
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
212
+ Enabled: true
213
+ Width: 2
214
+ Layout/IndentHash:
215
+ Description: Checks the indentation of the first key in a hash literal.
216
+ Enabled: true
217
+ EnforcedStyle: special_inside_parentheses
218
+ SupportedStyles:
219
+ - special_inside_parentheses
220
+ - consistent
221
+ Style/LambdaCall:
222
+ Description: Use lambda.call(...) instead of lambda.(...).
223
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
224
+ Enabled: false
225
+ EnforcedStyle: call
226
+ SupportedStyles:
227
+ - call
228
+ - braces
229
+ Style/Next:
230
+ Description: Use `next` to skip iteration instead of a condition at the end.
231
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
232
+ Enabled: false
233
+ EnforcedStyle: skip_modifier_ifs
234
+ MinBodyLength: 3
235
+ SupportedStyles:
236
+ - skip_modifier_ifs
237
+ - always
238
+ Style/NonNilCheck:
239
+ Description: Checks for redundant nil checks.
240
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks
241
+ Enabled: true
242
+ IncludeSemanticChanges: false
243
+ Style/MethodDefParentheses:
244
+ Description: Checks if the method definitions have or don't have parentheses.
245
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
246
+ Enabled: true
247
+ EnforcedStyle: require_parentheses
248
+ SupportedStyles:
249
+ - require_parentheses
250
+ - require_no_parentheses
251
+ Style/MethodName:
252
+ Description: Use the configured style when naming methods.
253
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
254
+ Enabled: true
255
+ EnforcedStyle: snake_case
256
+ SupportedStyles:
257
+ - snake_case
258
+ - camelCase
259
+ Layout/MultilineOperationIndentation:
260
+ Description: Checks indentation of binary operations that span more than one line.
261
+ Enabled: true
262
+ EnforcedStyle: indented
263
+ SupportedStyles:
264
+ - aligned
265
+ - indented
266
+ Style/MutableConstant:
267
+ Description: Do not assign mutable objects to constants.
268
+ Enabled: false
269
+ Style/NumericLiterals:
270
+ Description: Add underscores to large numeric literals to improve their readability.
271
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
272
+ Enabled: false
273
+ MinDigits: 5
274
+ Style/ParenthesesAroundCondition:
275
+ Description: Don't use parentheses around the condition of an if/unless/while.
276
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-parens-if
277
+ Enabled: true
278
+ AllowSafeAssignment: true
279
+ Style/PercentLiteralDelimiters:
280
+ Description: Use `%`-literal delimiters consistently
281
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
282
+ Enabled: false
283
+ PreferredDelimiters:
284
+ "%": "()"
285
+ "%i": "()"
286
+ "%q": "()"
287
+ "%Q": "()"
288
+ "%r": "{}"
289
+ "%s": "()"
290
+ "%w": "()"
291
+ "%W": "()"
292
+ "%x": "()"
293
+ Style/PercentQLiterals:
294
+ Description: Checks if uses of %Q/%q match the configured preference.
295
+ Enabled: true
296
+ EnforcedStyle: lower_case_q
297
+ SupportedStyles:
298
+ - lower_case_q
299
+ - upper_case_q
300
+ Style/PredicateName:
301
+ Description: Check the names of predicate methods.
302
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
303
+ Enabled: true
304
+ NamePrefix:
305
+ - is_
306
+ - has_
307
+ - have_
308
+ NamePrefixBlacklist:
309
+ - is_
310
+ Style/RaiseArgs:
311
+ Description: Checks the arguments passed to raise/fail.
312
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
313
+ Enabled: false
314
+ EnforcedStyle: exploded
315
+ SupportedStyles:
316
+ - compact
317
+ - exploded
318
+ Style/RedundantReturn:
319
+ Description: Don't use return where it's not required.
320
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-return
321
+ Enabled: true
322
+ AllowMultipleReturnValues: false
323
+ Style/Semicolon:
324
+ Description: Don't use semicolons to terminate expressions.
325
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon
326
+ Enabled: true
327
+ AllowAsExpressionSeparator: false
328
+ Style/SignalException:
329
+ Description: Checks for proper usage of fail and raise.
330
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
331
+ Enabled: false
332
+ EnforcedStyle: semantic
333
+ SupportedStyles:
334
+ - only_raise
335
+ - only_fail
336
+ - semantic
337
+ Style/SingleLineBlockParams:
338
+ Description: Enforces the names of some block params.
339
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
340
+ Enabled: false
341
+ Methods:
342
+ - reduce:
343
+ - a
344
+ - e
345
+ - inject:
346
+ - a
347
+ - e
348
+ Style/SingleLineMethods:
349
+ Description: Avoid single-line methods.
350
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
351
+ Enabled: false
352
+ AllowIfMethodIsEmpty: true
353
+ Style/StringLiterals:
354
+ Description: Checks if uses of quotes match the configured preference.
355
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
356
+ Enabled: false
357
+ EnforcedStyle: double_quotes
358
+ SupportedStyles:
359
+ - single_quotes
360
+ - double_quotes
361
+ Style/StringLiteralsInInterpolation:
362
+ Description: Checks if uses of quotes inside expressions in interpolated strings
363
+ match the configured preference.
364
+ Enabled: true
365
+ EnforcedStyle: single_quotes
366
+ SupportedStyles:
367
+ - single_quotes
368
+ - double_quotes
369
+ Layout/SpaceAroundBlockParameters:
370
+ Description: Checks the spacing inside and after block parameters pipes.
371
+ Enabled: true
372
+ EnforcedStyleInsidePipes: no_space
373
+ SupportedStylesInsidePipes:
374
+ - space
375
+ - no_space
376
+ Layout/SpaceAroundEqualsInParameterDefault:
377
+ Description: Checks that the equals signs in parameter default assignments have
378
+ or don't have surrounding space depending on configuration.
379
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-around-equals
380
+ Enabled: true
381
+ EnforcedStyle: space
382
+ SupportedStyles:
383
+ - space
384
+ - no_space
385
+ Layout/SpaceBeforeBlockBraces:
386
+ Description: Checks that the left block brace has or doesn't have space before it.
387
+ Enabled: true
388
+ EnforcedStyle: space
389
+ SupportedStyles:
390
+ - space
391
+ - no_space
392
+ Layout/SpaceInsideBlockBraces:
393
+ Description: Checks that block braces have or don't have surrounding space. For
394
+ blocks taking parameters, checks that the left brace has or doesn't have trailing
395
+ space.
396
+ Enabled: true
397
+ EnforcedStyle: space
398
+ SupportedStyles:
399
+ - space
400
+ - no_space
401
+ EnforcedStyleForEmptyBraces: no_space
402
+ SpaceBeforeBlockParameters: true
403
+ Layout/SpaceInsideHashLiteralBraces:
404
+ Description: Use spaces inside hash literal braces - or don't.
405
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
406
+ Enabled: true
407
+ EnforcedStyle: space
408
+ EnforcedStyleForEmptyBraces: no_space
409
+ SupportedStyles:
410
+ - space
411
+ - no_space
412
+ Style/SymbolProc:
413
+ Description: Use symbols as procs instead of blocks when possible.
414
+ Enabled: true
415
+ IgnoredMethods:
416
+ - respond_to
417
+ Layout/TrailingBlankLines:
418
+ Description: Checks trailing blank lines and final newline.
419
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
420
+ Enabled: true
421
+ EnforcedStyle: final_newline
422
+ SupportedStyles:
423
+ - final_newline
424
+ - final_blank_line
425
+ Style/TrailingCommaInArguments:
426
+ Description: Checks for trailing comma in argument lists.
427
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
428
+ Enabled: true
429
+ Style/TrailingCommaInLiteral:
430
+ Description: Checks for trailing comma in array and hash literals.
431
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
432
+ Enabled: true
433
+ Style/TrivialAccessors:
434
+ Description: Prefer attr_* methods to trivial readers/writers.
435
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
436
+ Enabled: false
437
+ ExactNameMatch: false
438
+ AllowPredicates: false
439
+ AllowDSLWriters: false
440
+ Whitelist:
441
+ - to_ary
442
+ - to_a
443
+ - to_c
444
+ - to_enum
445
+ - to_h
446
+ - to_hash
447
+ - to_i
448
+ - to_int
449
+ - to_io
450
+ - to_open
451
+ - to_path
452
+ - to_proc
453
+ - to_r
454
+ - to_regexp
455
+ - to_str
456
+ - to_s
457
+ - to_sym
458
+ Style/VariableName:
459
+ Description: Use the configured style when naming variables.
460
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
461
+ Enabled: true
462
+ EnforcedStyle: snake_case
463
+ SupportedStyles:
464
+ - snake_case
465
+ - camelCase
466
+ Style/WhileUntilModifier:
467
+ Description: Favor modifier while/until usage when you have a single-line body.
468
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
469
+ Enabled: false
470
+ MaxLineLength: 80
471
+ Style/WordArray:
472
+ Description: Use %w or %W for arrays of words.
473
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
474
+ Enabled: false
475
+ MinSize: 0
476
+ WordRegex: !ruby/regexp /\A[\p{Word}]+\z/
477
+ Metrics/AbcSize:
478
+ Description: A calculated magnitude based on number of assignments, branches, and
479
+ conditions.
480
+ Enabled: true
481
+ Max: 25
482
+ Metrics/BlockNesting:
483
+ Description: Avoid excessive block nesting
484
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
485
+ Enabled: true
486
+ Max: 3
487
+ Metrics/ClassLength:
488
+ Description: Avoid classes longer than 100 lines of code.
489
+ Enabled: false
490
+ CountComments: false
491
+ Max: 100
492
+ Metrics/CyclomaticComplexity:
493
+ Description: A complexity metric that is strongly correlated to the number of test
494
+ cases needed to validate a method.
495
+ Enabled: true
496
+ Max: 6
497
+ Metrics/LineLength:
498
+ Description: Limit lines to 100 characters.
499
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#100-character-limits
500
+ Enabled: true
501
+ Max: 100
502
+ AllowURI: true
503
+ URISchemes:
504
+ - http
505
+ - https
506
+ Metrics/MethodLength:
507
+ Description: Avoid methods longer than 15 lines of code.
508
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
509
+ Enabled: true
510
+ CountComments: true
511
+ Max: 15
512
+ Exclude:
513
+ - "spec/**/*"
514
+ Metrics/ParameterLists:
515
+ Description: Avoid long parameter lists.
516
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
517
+ Enabled: false
518
+ Max: 5
519
+ CountKeywordArgs: true
520
+ Metrics/PerceivedComplexity:
521
+ Description: A complexity metric geared towards measuring complexity for a human
522
+ reader.
523
+ Enabled: true
524
+ Max: 7
525
+ Lint/AssignmentInCondition:
526
+ Description: Don't use assignment in conditions.
527
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
528
+ Enabled: false
529
+ AllowSafeAssignment: true
530
+ Lint/EndAlignment:
531
+ Description: Align ends correctly.
532
+ Enabled: true
533
+ EnforcedStyleAlignWith: keyword
534
+ SupportedStylesAlignWith:
535
+ - keyword
536
+ - variable
537
+ Lint/DefEndAlignment:
538
+ Description: Align ends corresponding to defs correctly.
539
+ Enabled: true
540
+ EnforcedStyleAlignWith: start_of_line
541
+ SupportedStylesAlignWith:
542
+ - start_of_line
543
+ - def
544
+ Rails/ActionFilter:
545
+ Description: Enforces consistent use of action filter methods.
546
+ Enabled: true
547
+ EnforcedStyle: action
548
+ SupportedStyles:
549
+ - action
550
+ - filter
551
+ Include:
552
+ - app/controllers/**/*.rb
553
+ Rails/HasAndBelongsToMany:
554
+ Description: Prefer has_many :through to has_and_belongs_to_many.
555
+ Enabled: true
556
+ Include:
557
+ - app/models/**/*.rb
558
+ Rails/Output:
559
+ Description: Checks for calls to puts, print, etc.
560
+ Enabled: true
561
+ Include:
562
+ - app/**/*.rb
563
+ - config/**/*.rb
564
+ - db/**/*.rb
565
+ - lib/**/*.rb
566
+ Rails/ReadWriteAttribute:
567
+ Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
568
+ Enabled: true
569
+ Include:
570
+ - app/models/**/*.rb
571
+ Rails/ScopeArgs:
572
+ Description: Checks the arguments of ActiveRecord scopes.
573
+ Enabled: true
574
+ Include:
575
+ - app/models/**/*.rb
576
+ Rails/Validation:
577
+ Description: Use validates :attribute, hash of validations.
578
+ Enabled: true
579
+ Include:
580
+ - app/models/**/*.rb
581
+ Style/InlineComment:
582
+ Description: Avoid inline comments.
583
+ Enabled: false
584
+ Style/MethodCalledOnDoEndBlock:
585
+ Description: Avoid chaining a method call on a do...end block.
586
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
587
+ Enabled: false
588
+ Style/SymbolArray:
589
+ Description: Use %i or %I for arrays of symbols.
590
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-i
591
+ Enabled: false
592
+ Layout/ExtraSpacing:
593
+ Description: Do not use unnecessary spacing.
594
+ Enabled: false
595
+ Style/AccessorMethodName:
596
+ Description: Check the naming of accessor methods for get_/set_.
597
+ Enabled: false
598
+ Style/Alias:
599
+ Description: Use alias_method instead of alias.
600
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
601
+ Enabled: false
602
+ Layout/AlignArray:
603
+ Description: Align the elements of an array literal if they span more than one line.
604
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
605
+ Enabled: true
606
+ Style/ArrayJoin:
607
+ Description: Use Array#join instead of Array#*.
608
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
609
+ Enabled: false
610
+ Style/AsciiComments:
611
+ Description: Use only ascii symbols in comments.
612
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
613
+ Enabled: false
614
+ Style/AsciiIdentifiers:
615
+ Description: Use only ascii symbols in identifiers.
616
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
617
+ Enabled: false
618
+ Style/Attr:
619
+ Description: Checks for uses of Module#attr.
620
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
621
+ Enabled: false
622
+ Style/BeginBlock:
623
+ Description: Avoid the use of BEGIN blocks.
624
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks
625
+ Enabled: true
626
+ Style/BlockComments:
627
+ Description: Do not use block comments.
628
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments
629
+ Enabled: false
630
+ Layout/BlockEndNewline:
631
+ Description: Put end statement of multiline block on its own line.
632
+ Enabled: true
633
+ Style/CaseEquality:
634
+ Description: Avoid explicit use of the case equality operator(===).
635
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
636
+ Enabled: false
637
+ Style/CharacterLiteral:
638
+ Description: Checks for uses of character literals.
639
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
640
+ Enabled: false
641
+ Style/ClassAndModuleCamelCase:
642
+ Description: Use CamelCase for classes and modules.
643
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes
644
+ Enabled: true
645
+ Style/ClassMethods:
646
+ Description: Use self when defining module/class methods.
647
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-singletons
648
+ Enabled: true
649
+ Style/ClassVars:
650
+ Description: Avoid the use of class variables.
651
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
652
+ Enabled: false
653
+ Style/ColonMethodCall:
654
+ Description: 'Do not use :: for method call.'
655
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
656
+ Enabled: false
657
+ Layout/CommentIndentation:
658
+ Description: Indentation of comments.
659
+ Enabled: true
660
+ Style/ConstantName:
661
+ Description: Constants should use SCREAMING_SNAKE_CASE.
662
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case
663
+ Enabled: true
664
+ Style/DefWithParentheses:
665
+ Description: Use def with parentheses when there are arguments.
666
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
667
+ Enabled: true
668
+ Style/PreferredHashMethods:
669
+ Description: Checks for use of deprecated Hash methods.
670
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-key
671
+ Enabled: false
672
+ Style/Documentation:
673
+ Description: Document classes and non-namespace modules.
674
+ Enabled: false
675
+ Style/DoubleNegation:
676
+ Description: Checks for uses of double negation (!!).
677
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
678
+ Enabled: false
679
+ Style/EachWithObject:
680
+ Description: Prefer `each_with_object` over `inject` or `reduce`.
681
+ Enabled: false
682
+ Layout/ElseAlignment:
683
+ Description: Align elses and elsifs correctly.
684
+ Enabled: true
685
+ Style/EmptyElse:
686
+ Description: Avoid empty else-clauses.
687
+ Enabled: true
688
+ Layout/EmptyLines:
689
+ Description: Don't use several empty lines in a row.
690
+ Enabled: true
691
+ Layout/EmptyLinesAroundAccessModifier:
692
+ Description: Keep blank lines around access modifiers.
693
+ Enabled: true
694
+ Layout/EmptyLinesAroundMethodBody:
695
+ Description: Keeps track of empty lines around method bodies.
696
+ Enabled: true
697
+ Style/EmptyLiteral:
698
+ Description: Prefer literals to Array.new/Hash.new/String.new.
699
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
700
+ Enabled: false
701
+ Style/EndBlock:
702
+ Description: Avoid the use of END blocks.
703
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
704
+ Enabled: true
705
+ Layout/EndOfLine:
706
+ Description: Use Unix-style line endings.
707
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#crlf
708
+ Enabled: true
709
+ Style/EvenOdd:
710
+ Description: Favor the use of Fixnum#even? && Fixnum#odd?
711
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
712
+ Enabled: false
713
+ Style/FlipFlop:
714
+ Description: Checks for flip flops
715
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
716
+ Enabled: false
717
+ Style/IfWithSemicolon:
718
+ Description: Do not use if x; .... Use the ternary operator instead.
719
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
720
+ Enabled: false
721
+ Layout/IndentationConsistency:
722
+ Description: Keep indentation straight.
723
+ Enabled: true
724
+ Layout/IndentArray:
725
+ Description: Checks the indentation of the first element in an array literal.
726
+ Enabled: true
727
+ Style/InfiniteLoop:
728
+ Description: Use Kernel#loop for infinite loops.
729
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#infinite-loop
730
+ Enabled: true
731
+ Style/Lambda:
732
+ Description: Use the new lambda literal syntax for single-line blocks.
733
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
734
+ Enabled: false
735
+ Layout/LeadingCommentSpace:
736
+ Description: Comments should start with a space.
737
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-space
738
+ Enabled: true
739
+ Style/LineEndConcatenation:
740
+ Description: Use \ instead of + or << to concatenate two string literals at line
741
+ end.
742
+ Enabled: false
743
+ Style/MethodCallWithoutArgsParentheses:
744
+ Description: Do not use parentheses for method calls with no arguments.
745
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-args-no-parens
746
+ Enabled: true
747
+ Style/ModuleFunction:
748
+ Description: Checks for usage of `extend self` in modules.
749
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
750
+ Enabled: false
751
+ Style/MultilineBlockChain:
752
+ Description: Avoid multi-line chains of blocks.
753
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
754
+ Enabled: false
755
+ Layout/MultilineBlockLayout:
756
+ Description: Ensures newlines after multiline block do statements.
757
+ Enabled: false
758
+ Style/MultilineIfThen:
759
+ Description: Do not use then for multi-line if/unless.
760
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-then
761
+ Enabled: true
762
+ Style/MultilineTernaryOperator:
763
+ Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
764
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary
765
+ Enabled: true
766
+ Style/NegatedIf:
767
+ Description: Favor unless over if for negative conditions (or control flow or).
768
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
769
+ Enabled: false
770
+ Style/NegatedWhile:
771
+ Description: Favor until over while for negative conditions.
772
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
773
+ Enabled: false
774
+ Style/NestedTernaryOperator:
775
+ Description: Use one expression per branch in a ternary operator.
776
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-ternary
777
+ Enabled: true
778
+ Style/NilComparison:
779
+ Description: Prefer x.nil? to x == nil.
780
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
781
+ Enabled: false
782
+ Style/Not:
783
+ Description: Use ! instead of not.
784
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not
785
+ Enabled: true
786
+ Style/OneLineConditional:
787
+ Description: Favor the ternary operator(?:) over if/then/else/end constructs.
788
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
789
+ Enabled: false
790
+ Style/OpMethod:
791
+ Description: When defining binary operators, name the argument other.
792
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
793
+ Enabled: false
794
+ Style/PerlBackrefs:
795
+ Description: Avoid Perl-style regex back references.
796
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
797
+ Enabled: false
798
+ Style/Proc:
799
+ Description: Use proc instead of Proc.new.
800
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
801
+ Enabled: false
802
+ Style/RedundantBegin:
803
+ Description: Don't use begin blocks when they are not needed.
804
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#begin-implicit
805
+ Enabled: true
806
+ Style/RedundantException:
807
+ Description: Checks for an obsolete RuntimeException argument in raise/fail.
808
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror
809
+ Enabled: true
810
+ Style/RedundantSelf:
811
+ Description: Don't use self where it's not needed.
812
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-self-unless-required
813
+ Enabled: true
814
+ Style/RescueModifier:
815
+ Description: Avoid using rescue in its modifier form.
816
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers
817
+ Enabled: true
818
+ Style/SelfAssignment:
819
+ Description: Checks for places where self-assignment shorthand should have been
820
+ used.
821
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
822
+ Enabled: false
823
+ Layout/SpaceAfterColon:
824
+ Description: Use spaces after colons.
825
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
826
+ Enabled: true
827
+ Layout/SpaceAfterComma:
828
+ Description: Use spaces after commas.
829
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
830
+ Enabled: true
831
+ Layout/SpaceAroundKeyword:
832
+ Description: Use a space around keywords if appropriate.
833
+ Enabled: true
834
+ Layout/SpaceAfterMethodName:
835
+ Description: Do not put a space between a method name and the opening parenthesis
836
+ in a method definition.
837
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
838
+ Enabled: true
839
+ Layout/SpaceAfterNot:
840
+ Description: Tracks redundant space after the ! operator.
841
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang
842
+ Enabled: true
843
+ Layout/SpaceAfterSemicolon:
844
+ Description: Use spaces after semicolons.
845
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
846
+ Enabled: true
847
+ Layout/SpaceBeforeComma:
848
+ Description: No spaces before commas.
849
+ Enabled: true
850
+ Layout/SpaceBeforeComment:
851
+ Description: Checks for missing space between code and a comment on the same line.
852
+ Enabled: true
853
+ Layout/SpaceBeforeFirstArg:
854
+ Description: Put a space between a method name and the first argument in a method
855
+ call without parentheses.
856
+ Enabled: true
857
+ Layout/SpaceBeforeSemicolon:
858
+ Description: No spaces before semicolons.
859
+ Enabled: true
860
+ Layout/SpaceAroundOperators:
861
+ Description: Use spaces around operators.
862
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
863
+ Enabled: true
864
+ Layout/SpaceInsideBrackets:
865
+ Description: No spaces after [ or before ].
866
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
867
+ Enabled: true
868
+ Layout/SpaceInsideParens:
869
+ Description: No spaces after ( or before ).
870
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
871
+ Enabled: true
872
+ Layout/SpaceInsideRangeLiteral:
873
+ Description: No spaces inside range literals.
874
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals
875
+ Enabled: true
876
+ Style/SpecialGlobalVars:
877
+ Description: Avoid Perl-style global variables.
878
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
879
+ Enabled: false
880
+ Style/StructInheritance:
881
+ Description: Checks for inheritance from Struct.new.
882
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new
883
+ Enabled: true
884
+ Layout/Tab:
885
+ Description: No hard tabs.
886
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
887
+ Enabled: true
888
+ Layout/TrailingWhitespace:
889
+ Description: Avoid trailing whitespace.
890
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace
891
+ Enabled: true
892
+ Style/UnlessElse:
893
+ Description: Do not use unless with else. Rewrite these with the positive case first.
894
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
895
+ Enabled: true
896
+ Style/UnneededCapitalW:
897
+ Description: Checks for %W when interpolation is not needed.
898
+ Enabled: true
899
+ Style/UnneededPercentQ:
900
+ Description: Checks for %q/%Q when single quotes or double quotes would do.
901
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
902
+ Enabled: true
903
+ Style/VariableInterpolation:
904
+ Description: Don't interpolate global, instance and class variables directly in
905
+ strings.
906
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
907
+ Enabled: false
908
+ Style/WhenThen:
909
+ Description: Use when x then ... for one-line cases.
910
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
911
+ Enabled: false
912
+ Style/WhileUntilDo:
913
+ Description: Checks for redundant do after while or until.
914
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do
915
+ Enabled: true
916
+ Lint/AmbiguousOperator:
917
+ Description: Checks for ambiguous operators in the first argument of a method invocation
918
+ without parentheses.
919
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
920
+ Enabled: false
921
+ Lint/AmbiguousRegexpLiteral:
922
+ Description: Checks for ambiguous regexp literals in the first argument of a method
923
+ invocation without parenthesis.
924
+ Enabled: false
925
+ Lint/BlockAlignment:
926
+ Description: Align block ends correctly.
927
+ Enabled: true
928
+ Lint/ConditionPosition:
929
+ Description: Checks for condition placed in a confusing position relative to the
930
+ keyword.
931
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
932
+ Enabled: false
933
+ Lint/Debugger:
934
+ Description: Check for debugger calls.
935
+ Enabled: true
936
+ Lint/DeprecatedClassMethods:
937
+ Description: Check for deprecated class method calls.
938
+ Enabled: false
939
+ Lint/DuplicateMethods:
940
+ Description: Check for duplicate methods calls.
941
+ Enabled: true
942
+ Lint/ElseLayout:
943
+ Description: Check for odd code arrangement in an else block.
944
+ Enabled: false
945
+ Lint/EmptyEnsure:
946
+ Description: Checks for empty ensure block.
947
+ Enabled: true
948
+ Lint/EmptyInterpolation:
949
+ Description: Checks for empty string interpolation.
950
+ Enabled: true
951
+ Lint/EndInMethod:
952
+ Description: END blocks should not be placed inside method definitions.
953
+ Enabled: true
954
+ Lint/EnsureReturn:
955
+ Description: Do not use return in an ensure block.
956
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
957
+ Enabled: true
958
+ Security/Eval:
959
+ Description: The use of eval represents a serious security risk.
960
+ Enabled: true
961
+ Lint/HandleExceptions:
962
+ Description: Don't suppress exception.
963
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
964
+ Enabled: false
965
+ Lint/InvalidCharacterLiteral:
966
+ Description: Checks for invalid character literals with a non-escaped whitespace
967
+ character.
968
+ Enabled: false
969
+ Lint/LiteralInCondition:
970
+ Description: Checks of literals used in conditions.
971
+ Enabled: false
972
+ Lint/LiteralInInterpolation:
973
+ Description: Checks for literals used in interpolation.
974
+ Enabled: false
975
+ Lint/Loop:
976
+ Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
977
+ for post-loop tests.
978
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
979
+ Enabled: false
980
+ Lint/ParenthesesAsGroupedExpression:
981
+ Description: Checks for method calls with a space before the opening parenthesis.
982
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
983
+ Enabled: false
984
+ Lint/RequireParentheses:
985
+ Description: Use parentheses in the method call to avoid confusion about precedence.
986
+ Enabled: false
987
+ Lint/RescueException:
988
+ Description: Avoid rescuing the Exception class.
989
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues
990
+ Enabled: true
991
+ Lint/ShadowingOuterLocalVariable:
992
+ Description: Do not use the same name as outer local variable for block arguments
993
+ or block local variables.
994
+ Enabled: true
995
+ Lint/StringConversionInInterpolation:
996
+ Description: Checks for Object#to_s usage in string interpolation.
997
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
998
+ Enabled: true
999
+ Lint/UnderscorePrefixedVariableName:
1000
+ Description: Do not use prefix `_` for a variable that is used.
1001
+ Enabled: false
1002
+ Lint/UnusedBlockArgument:
1003
+ Description: Checks for unused block arguments.
1004
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1005
+ Enabled: true
1006
+ Lint/UnusedMethodArgument:
1007
+ Description: Checks for unused method arguments.
1008
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1009
+ Enabled: true
1010
+ Lint/UnreachableCode:
1011
+ Description: Unreachable code.
1012
+ Enabled: true
1013
+ Lint/UselessAccessModifier:
1014
+ Description: Checks for useless access modifiers.
1015
+ Enabled: true
1016
+ Lint/UselessAssignment:
1017
+ Description: Checks for useless assignment to a local variable.
1018
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1019
+ Enabled: true
1020
+ Lint/UselessComparison:
1021
+ Description: Checks for comparison of something with itself.
1022
+ Enabled: true
1023
+ Lint/UselessElseWithoutRescue:
1024
+ Description: Checks for useless `else` in `begin..end` without `rescue`.
1025
+ Enabled: true
1026
+ Lint/UselessSetterCall:
1027
+ Description: Checks for useless setter call to a local variable.
1028
+ Enabled: true
1029
+ Lint/Void:
1030
+ Description: Possible use of operator/literal/variable in void context.
1031
+ Enabled: false
1032
+ Rails/Delegate:
1033
+ Description: Prefer delegate method for delegations.
1034
+ Enabled: false
1035
+ Performance/RedundantBlockCall:
1036
+ Description: Use `yield` instead of `block.call`.
1037
+ Reference: https://github.com/JuanitoFatas/fast-ruby#proccall-vs-yield-code
1038
+ Enabled: false