lecture 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 77fd42a5b3675c5892c8c21c660084f2f4429f03
4
+ data.tar.gz: 1632835f3c814e26fa4679dfc880ec99d948dd26
5
+ SHA512:
6
+ metadata.gz: 3a661ab77e509a51cc591f071bca28c4e508f99989f6da43d1e237c617de526269193beb50010a95bd2aaeb3ed95e05d5f2473a7145e64659a057631f7e7085a
7
+ data.tar.gz: 12ab4da363f95fdb337a8b4475f90c6d1ef9bd0160573b9080f2e7d9eddffbb2e5bc0a8e3d19e2b54c5274572fef06dbeb6adab1f480d1997f97346d7e6d2155
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
@@ -0,0 +1,866 @@
1
+ ---
2
+ AllCops:
3
+ Exclude:
4
+ - vendor/**/*
5
+ - Gemfile.lock
6
+ - db/schema.rb
7
+ TargetRubyVersion: 2.4
8
+ Lint/AmbiguousOperator:
9
+ Description: Checks for ambiguous operators in the first argument of a method invocation
10
+ without parentheses.
11
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
12
+ Enabled: true
13
+ Lint/AmbiguousBlockAssociation:
14
+ Enabled: false
15
+ Lint/AmbiguousRegexpLiteral:
16
+ Description: Checks for ambiguous regexp literals in the first argument of a method
17
+ invocation without parenthesis.
18
+ Enabled: true
19
+ Lint/AssignmentInCondition:
20
+ Description: Don't use assignment in conditions.
21
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
22
+ Enabled: true
23
+ Lint/BlockAlignment:
24
+ Description: Align block ends correctly.
25
+ Enabled: true
26
+ Lint/CircularArgumentReference:
27
+ Description: Don't refer to the keyword argument in the default value.
28
+ Enabled: true
29
+ Lint/ConditionPosition:
30
+ Description: Checks for condition placed in a confusing position relative to the
31
+ keyword.
32
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
33
+ Enabled: true
34
+ Lint/Debugger:
35
+ Description: Check for debugger calls.
36
+ Enabled: true
37
+ Lint/DefEndAlignment:
38
+ Description: Align ends corresponding to defs correctly.
39
+ Enabled: true
40
+ Lint/DeprecatedClassMethods:
41
+ Description: Check for deprecated class method calls.
42
+ Enabled: true
43
+ Lint/DuplicateMethods:
44
+ Description: Check for duplicate methods calls.
45
+ Enabled: true
46
+ Lint/EachWithObjectArgument:
47
+ Description: Check for immutable argument given to each_with_object.
48
+ Enabled: true
49
+ Lint/ElseLayout:
50
+ Description: Check for odd code arrangement in an else block.
51
+ Enabled: true
52
+ Lint/EmptyEnsure:
53
+ Description: Checks for empty ensure block.
54
+ Enabled: true
55
+ Lint/EmptyInterpolation:
56
+ Description: Checks for empty string interpolation.
57
+ Enabled: true
58
+ Lint/EndAlignment:
59
+ Description: Align ends correctly.
60
+ Enabled: true
61
+ Lint/EndInMethod:
62
+ Description: END blocks should not be placed inside method definitions.
63
+ Enabled: true
64
+ Lint/EnsureReturn:
65
+ Description: Do not use return in an ensure block.
66
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
67
+ Enabled: true
68
+ Lint/FormatParameterMismatch:
69
+ Description: The number of parameters to format/sprint must match the fields.
70
+ Enabled: true
71
+ Lint/HandleExceptions:
72
+ Description: Don't suppress exception.
73
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
74
+ Enabled: true
75
+ Lint/InvalidCharacterLiteral:
76
+ Description: Checks for invalid character literals with a non-escaped whitespace
77
+ character.
78
+ Enabled: true
79
+ Lint/LiteralInCondition:
80
+ Description: Checks of literals used in conditions.
81
+ Enabled: true
82
+ Lint/LiteralInInterpolation:
83
+ Description: Checks for literals used in interpolation.
84
+ Enabled: true
85
+ Lint/Loop:
86
+ Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
87
+ for post-loop tests.
88
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
89
+ Enabled: true
90
+ Lint/NestedMethodDefinition:
91
+ Description: Do not use nested method definitions.
92
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
93
+ Enabled: true
94
+ Lint/NonLocalExitFromIterator:
95
+ Description: Do not use return in iterator to cause non-local exit.
96
+ Enabled: true
97
+ Lint/ParenthesesAsGroupedExpression:
98
+ Description: Checks for method calls with a space before the opening parenthesis.
99
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
100
+ Enabled: true
101
+ Lint/RequireParentheses:
102
+ Description: Use parentheses in the method call to avoid confusion about precedence.
103
+ Enabled: true
104
+ Lint/RescueException:
105
+ Description: Avoid rescuing the Exception class.
106
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues
107
+ Enabled: true
108
+ Lint/ShadowingOuterLocalVariable:
109
+ Description: Do not use the same name as outer local variable for block arguments
110
+ or block local variables.
111
+ Enabled: true
112
+ Lint/StringConversionInInterpolation:
113
+ Description: Checks for Object#to_s usage in string interpolation.
114
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
115
+ Enabled: true
116
+ Lint/UnderscorePrefixedVariableName:
117
+ Description: Do not use prefix `_` for a variable that is used.
118
+ Enabled: true
119
+ Lint/UnneededDisable:
120
+ Description: 'Checks for rubocop:disable comments that can be removed. Note: this
121
+ cop is not disabled when disabling all cops. It must be explicitly disabled.'
122
+ Enabled: true
123
+ Lint/UnusedBlockArgument:
124
+ Description: Checks for unused block arguments.
125
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
126
+ Enabled: true
127
+ Lint/UnusedMethodArgument:
128
+ Description: Checks for unused method arguments.
129
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
130
+ Enabled: true
131
+ Lint/UnreachableCode:
132
+ Description: Unreachable code.
133
+ Enabled: true
134
+ Lint/UselessAccessModifier:
135
+ Description: Checks for useless access modifiers.
136
+ Enabled: true
137
+ Lint/UselessAssignment:
138
+ Description: Checks for useless assignment to a local variable.
139
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
140
+ Enabled: true
141
+ Lint/UselessComparison:
142
+ Description: Checks for comparison of something with itself.
143
+ Enabled: true
144
+ Lint/UselessElseWithoutRescue:
145
+ Description: Checks for useless `else` in `begin..end` without `rescue`.
146
+ Enabled: true
147
+ Lint/UselessSetterCall:
148
+ Description: Checks for useless setter call to a local variable.
149
+ Enabled: true
150
+ Lint/Void:
151
+ Description: Possible use of operator/literal/variable in void context.
152
+ Enabled: true
153
+ Metrics/AbcSize:
154
+ Description: A calculated magnitude based on number of assignments, branches, and
155
+ conditions.
156
+ Reference: http://c2.com/cgi/wiki?AbcMetric
157
+ Enabled: true
158
+ Max: 15
159
+ Metrics/BlockNesting:
160
+ Description: Avoid excessive block nesting
161
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
162
+ Enabled: true
163
+ Max: 4
164
+ Metrics/ClassLength:
165
+ Description: Avoid classes longer than 100 lines of code.
166
+ Enabled: true
167
+ Max: 100
168
+ Metrics/CyclomaticComplexity:
169
+ Description: A complexity metric that is strongly correlated to the number of test
170
+ cases needed to validate a method.
171
+ Enabled: true
172
+ Metrics/LineLength:
173
+ Description: Limit lines to 80 characters.
174
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
175
+ Enabled: true
176
+ Metrics/MethodLength:
177
+ Description: Avoid methods longer than 10 lines of code.
178
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
179
+ Enabled: true
180
+ Max: 10
181
+ Metrics/ModuleLength:
182
+ Description: Avoid modules longer than 100 lines of code.
183
+ Enabled: true
184
+ Max: 100
185
+ Metrics/ParameterLists:
186
+ Description: Avoid parameter lists longer than three or four parameters.
187
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
188
+ Enabled: false
189
+ Metrics/PerceivedComplexity:
190
+ Description: A complexity metric geared towards measuring complexity for a human
191
+ reader.
192
+ Enabled: true
193
+ Metrics/BlockLength:
194
+ Exclude:
195
+ - Rakefile
196
+ - "**/*.rake"
197
+ - spec/**/*.rb
198
+ Performance/Count:
199
+ Description: Use `count` instead of `select...size`, `reject...size`, `select...count`,
200
+ `reject...count`, `select...length`, and `reject...length`.
201
+ Enabled: true
202
+ Performance/Detect:
203
+ Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`,
204
+ and `find_all.last`.
205
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code
206
+ Enabled: true
207
+ Performance/FlatMap:
208
+ Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)`
209
+ or `Enumberable#collect..Array#flatten(1)`
210
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code
211
+ Enabled: true
212
+ EnabledForFlattenWithoutParams: false
213
+ Performance/ReverseEach:
214
+ Description: Use `reverse_each` instead of `reverse.each`.
215
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code
216
+ Enabled: true
217
+ Performance/Sample:
218
+ Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`.
219
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code
220
+ Enabled: true
221
+ Performance/Size:
222
+ Description: Use `size` instead of `count` for counting the number of elements in
223
+ `Array` and `Hash`.
224
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code
225
+ Enabled: true
226
+ Performance/StringReplacement:
227
+ Description: Use `tr` instead of `gsub` when you are replacing the same number of
228
+ characters. Use `delete` instead of `gsub` when you are deleting characters.
229
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code
230
+ Enabled: true
231
+ Rails/ActionFilter:
232
+ Description: Enforces consistent use of action filter methods.
233
+ Enabled: false
234
+ Rails/Date:
235
+ Description: Checks the correct usage of date aware methods, such as Date.today,
236
+ Date.current etc.
237
+ Enabled: true
238
+ Rails/Delegate:
239
+ Description: Prefer delegate method for delegations.
240
+ Enabled: true
241
+ Rails/FindBy:
242
+ Description: Prefer find_by over where.first.
243
+ Enabled: true
244
+ Rails/FindEach:
245
+ Description: Prefer all.find_each over all.find.
246
+ Enabled: true
247
+ Rails/HasAndBelongsToMany:
248
+ Description: Prefer has_many :through to has_and_belongs_to_many.
249
+ Enabled: true
250
+ Rails/Output:
251
+ Description: Checks for calls to puts, print, etc.
252
+ Enabled: true
253
+ Rails/ReadWriteAttribute:
254
+ Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
255
+ Enabled: false
256
+ Rails/ScopeArgs:
257
+ Description: Checks the arguments of ActiveRecord scopes.
258
+ Enabled: true
259
+ Rails/TimeZone:
260
+ Description: Checks the correct usage of time zone aware methods.
261
+ StyleGuide: https://github.com/bbatsov/rails-style-guide#time
262
+ Reference: http://danilenko.org/2012/7/6/rails_timezones
263
+ Enabled: true
264
+ Rails/Validation:
265
+ Description: Use validates :attribute, hash of validations.
266
+ Enabled: true
267
+ Layout/AccessModifierIndentation:
268
+ Description: Check indentation of private/protected visibility modifiers.
269
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
270
+ Enabled: false
271
+ Style/AccessorMethodName:
272
+ Description: Check the naming of accessor methods for get_/set_.
273
+ Enabled: false
274
+ Style/Alias:
275
+ Description: Use alias_method instead of alias.
276
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
277
+ Enabled: false
278
+ Layout/AlignArray:
279
+ Description: Align the elements of an array literal if they span more than one line.
280
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
281
+ Enabled: true
282
+ Layout/AlignHash:
283
+ Description: Align the elements of a hash literal if they span more than one line.
284
+ Enabled: true
285
+ Layout/AlignParameters:
286
+ Description: Align the parameters of a method call if they span more than one line.
287
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
288
+ Enabled: true
289
+ Style/AndOr:
290
+ Description: Use &&/|| instead of and/or.
291
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
292
+ Enabled: true
293
+ Style/ArrayJoin:
294
+ Description: Use Array#join instead of Array#*.
295
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
296
+ Enabled: false
297
+ Style/AsciiComments:
298
+ Description: Use only ascii symbols in comments.
299
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
300
+ Enabled: false
301
+ Style/AsciiIdentifiers:
302
+ Description: Use only ascii symbols in identifiers.
303
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
304
+ Enabled: false
305
+ Style/Attr:
306
+ Description: Checks for uses of Module#attr.
307
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
308
+ Enabled: true
309
+ Style/BeginBlock:
310
+ Description: Avoid the use of BEGIN blocks.
311
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks
312
+ Enabled: true
313
+ Style/BarePercentLiterals:
314
+ Description: Checks if usage of %() or %Q() matches configuration.
315
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand
316
+ Enabled: true
317
+ Style/BlockComments:
318
+ Description: Do not use block comments.
319
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments
320
+ Enabled: false
321
+ Layout/BlockEndNewline:
322
+ Description: Put end statement of multiline block on its own line.
323
+ Enabled: true
324
+ Style/BlockDelimiters:
325
+ Description: Avoid using {...} for multi-line blocks (multiline chaining is always
326
+ ugly). Prefer {...} over do...end for single-line blocks.
327
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
328
+ Enabled: true
329
+ Style/BracesAroundHashParameters:
330
+ Description: Enforce braces style around hash parameters.
331
+ Enabled: false
332
+ Style/CaseEquality:
333
+ Description: Avoid explicit use of the case equality operator(===).
334
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
335
+ Enabled: false
336
+ Layout/CaseIndentation:
337
+ Description: Indentation of when in a case/when/[else/]end.
338
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
339
+ Enabled: true
340
+ Style/CharacterLiteral:
341
+ Description: Checks for uses of character literals.
342
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
343
+ Enabled: false
344
+ Style/ClassAndModuleCamelCase:
345
+ Description: Use CamelCase for classes and modules.
346
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes
347
+ Enabled: true
348
+ Style/ClassAndModuleChildren:
349
+ Description: Checks style of children classes and modules.
350
+ Enabled: false
351
+ Style/ClassCheck:
352
+ Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
353
+ Enabled: true
354
+ Style/ClassMethods:
355
+ Description: Use self when defining module/class methods.
356
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-class-methods
357
+ Enabled: false
358
+ Style/ClassVars:
359
+ Description: Avoid the use of class variables.
360
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
361
+ Enabled: false
362
+ Layout/ClosingParenthesisIndentation:
363
+ Description: Checks the indentation of hanging closing parentheses.
364
+ Enabled: false
365
+ Style/ColonMethodCall:
366
+ Description: 'Do not use :: for method call.'
367
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
368
+ Enabled: true
369
+ Style/CommandLiteral:
370
+ Description: Use `` or %x around command literals.
371
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-x
372
+ Enabled: false
373
+ Style/CommentAnnotation:
374
+ Description: Checks formatting of annotation comments.
375
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
376
+ Enabled: false
377
+ Layout/CommentIndentation:
378
+ Description: Indentation of comments.
379
+ Enabled: false
380
+ Style/ConstantName:
381
+ Description: Constants should use SCREAMING_SNAKE_CASE.
382
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case
383
+ Enabled: true
384
+ Style/DefWithParentheses:
385
+ Description: Use def with parentheses when there are arguments.
386
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
387
+ Enabled: true
388
+ Style/Documentation:
389
+ Description: Document classes and non-namespace modules.
390
+ Enabled: false
391
+ Layout/DotPosition:
392
+ Description: Checks the position of the dot in multi-line method calls.
393
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
394
+ Enabled: true
395
+ Style/DoubleNegation:
396
+ Description: Checks for uses of double negation (!!).
397
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
398
+ Enabled: true
399
+ Style/EachWithObject:
400
+ Description: Prefer `each_with_object` over `inject` or `reduce`.
401
+ Enabled: false
402
+ Layout/ElseAlignment:
403
+ Description: Align elses and elsifs correctly.
404
+ Enabled: true
405
+ Style/EmptyElse:
406
+ Description: Avoid empty else-clauses.
407
+ Enabled: true
408
+ Layout/EmptyLineBetweenDefs:
409
+ Description: Use empty lines between defs.
410
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods
411
+ Enabled: true
412
+ Layout/EmptyLines:
413
+ Description: Don't use several empty lines in a row.
414
+ Enabled: true
415
+ Layout/EmptyLinesAroundAccessModifier:
416
+ Description: Keep blank lines around access modifiers.
417
+ Enabled: false
418
+ Layout/EmptyLinesAroundBlockBody:
419
+ Description: Keeps track of empty lines around block bodies.
420
+ Enabled: false
421
+ Layout/EmptyLinesAroundClassBody:
422
+ Description: Keeps track of empty lines around class bodies.
423
+ Enabled: false
424
+ Layout/EmptyLinesAroundModuleBody:
425
+ Description: Keeps track of empty lines around module bodies.
426
+ Enabled: false
427
+ Layout/EmptyLinesAroundMethodBody:
428
+ Description: Keeps track of empty lines around method bodies.
429
+ Enabled: false
430
+ Style/EmptyLiteral:
431
+ Description: Prefer literals to Array.new/Hash.new/String.new.
432
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
433
+ Enabled: false
434
+ Style/EndBlock:
435
+ Description: Avoid the use of END blocks.
436
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
437
+ Enabled: false
438
+ Layout/EndOfLine:
439
+ Description: Use Unix-style line endings.
440
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#crlf
441
+ Enabled: false
442
+ Style/EvenOdd:
443
+ Description: Favor the use of Fixnum#even? && Fixnum#odd?
444
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
445
+ Enabled: true
446
+ Layout/ExtraSpacing:
447
+ Description: Do not use unnecessary spacing.
448
+ Enabled: true
449
+ Style/FileName:
450
+ Description: Use snake_case for source file names.
451
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
452
+ Enabled: true
453
+ Layout/InitialIndentation:
454
+ Description: Checks the indentation of the first non-blank non-comment line in a
455
+ file.
456
+ Enabled: false
457
+ Layout/FirstParameterIndentation:
458
+ Description: Checks the indentation of the first parameter in a method call.
459
+ Enabled: false
460
+ Style/FlipFlop:
461
+ Description: Checks for flip flops
462
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
463
+ Enabled: true
464
+ Style/For:
465
+ Description: Checks use of for or each in multiline loops.
466
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-for-loops
467
+ Enabled: true
468
+ Style/FormatString:
469
+ Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
470
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
471
+ Enabled: false
472
+ Style/GlobalVars:
473
+ Description: Do not introduce global variables.
474
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
475
+ Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html
476
+ Enabled: true
477
+ Style/GuardClause:
478
+ Description: Check for conditionals that can be replaced with guard clauses
479
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
480
+ Enabled: true
481
+ Style/HashSyntax:
482
+ Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a =>
483
+ 1, :b => 2 }.'
484
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-literals
485
+ Enabled: true
486
+ Style/IfUnlessModifier:
487
+ Description: Favor modifier if/unless usage when you have a single-line body.
488
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
489
+ Enabled: true
490
+ Style/IfWithSemicolon:
491
+ Description: Do not use if x; .... Use the ternary operator instead.
492
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
493
+ Enabled: true
494
+ Layout/IndentationConsistency:
495
+ Description: Keep indentation straight.
496
+ Enabled: false
497
+ Layout/IndentationWidth:
498
+ Description: Use 2 spaces for indentation.
499
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
500
+ Enabled: true
501
+ Layout/IndentArray:
502
+ Description: Checks the indentation of the first element in an array literal.
503
+ Enabled: false
504
+ Layout/IndentHash:
505
+ Description: Checks the indentation of the first key in a hash literal.
506
+ Enabled: false
507
+ Style/InfiniteLoop:
508
+ Description: Use Kernel#loop for infinite loops.
509
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#infinite-loop
510
+ Enabled: true
511
+ Style/Lambda:
512
+ Description: Use the new lambda literal syntax for single-line blocks.
513
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
514
+ Enabled: true
515
+ Style/LambdaCall:
516
+ Description: Use lambda.call(...) instead of lambda.(...).
517
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
518
+ Enabled: false
519
+ Layout/LeadingCommentSpace:
520
+ Description: Comments should start with a space.
521
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-space
522
+ Enabled: true
523
+ Style/LineEndConcatenation:
524
+ Description: Use \ instead of + or << to concatenate two string literals at line
525
+ end.
526
+ Enabled: true
527
+ Style/MethodCallWithoutArgsParentheses:
528
+ Description: Do not use parentheses for method calls with no arguments.
529
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-args-no-parens
530
+ Enabled: true
531
+ Style/MethodDefParentheses:
532
+ Description: Checks if the method definitions have or don't have parentheses.
533
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
534
+ Enabled: true
535
+ Style/MethodName:
536
+ Description: Use the configured style when naming methods.
537
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
538
+ Enabled: false
539
+ Style/ModuleFunction:
540
+ Description: Checks for usage of `extend self` in modules.
541
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
542
+ Enabled: true
543
+ Style/MultilineBlockChain:
544
+ Description: Avoid multi-line chains of blocks.
545
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
546
+ Enabled: false
547
+ Layout/MultilineBlockLayout:
548
+ Description: Ensures newlines after multiline block do statements.
549
+ Enabled: true
550
+ Style/MultilineIfThen:
551
+ Description: Do not use then for multi-line if/unless.
552
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-then
553
+ Enabled: true
554
+ Layout/MultilineOperationIndentation:
555
+ Description: Checks indentation of binary operations that span more than one line.
556
+ Enabled: false
557
+ Style/MultilineTernaryOperator:
558
+ Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
559
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary
560
+ Enabled: true
561
+ Style/NegatedIf:
562
+ Description: Favor unless over if for negative conditions (or control flow or).
563
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
564
+ Enabled: true
565
+ Style/NegatedWhile:
566
+ Description: Favor until over while for negative conditions.
567
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
568
+ Enabled: true
569
+ Style/NestedTernaryOperator:
570
+ Description: Use one expression per branch in a ternary operator.
571
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-ternary
572
+ Enabled: true
573
+ Style/Next:
574
+ Description: Use `next` to skip iteration instead of a condition at the end.
575
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
576
+ Enabled: true
577
+ Style/NilComparison:
578
+ Description: Prefer x.nil? to x == nil.
579
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
580
+ Enabled: true
581
+ Style/NonNilCheck:
582
+ Description: Checks for redundant nil checks.
583
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks
584
+ Enabled: true
585
+ Style/Not:
586
+ Description: Use ! instead of not.
587
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not
588
+ Enabled: true
589
+ Style/NumericLiterals:
590
+ Description: Add underscores to large numeric literals to improve their readability.
591
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
592
+ Enabled: true
593
+ Style/OneLineConditional:
594
+ Description: Favor the ternary operator(?:) over if/then/else/end constructs.
595
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
596
+ Enabled: false
597
+ Style/OpMethod:
598
+ Description: When defining binary operators, name the argument other.
599
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
600
+ Enabled: false
601
+ Style/OptionalArguments:
602
+ Description: Checks for optional arguments that do not appear at the end of the
603
+ argument list
604
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#optional-arguments
605
+ Enabled: false
606
+ Style/ParallelAssignment:
607
+ Description: Check for simple usages of parallel assignment. It will only warn when
608
+ the number of variables matches on both sides of the assignment. This also provides
609
+ performance benefits
610
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parallel-assignment
611
+ Enabled: false
612
+ Style/ParenthesesAroundCondition:
613
+ Description: Don't use parentheses around the condition of an if/unless/while.
614
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-parens-if
615
+ Enabled: true
616
+ Style/PercentLiteralDelimiters:
617
+ Description: Use `%`-literal delimiters consistently
618
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
619
+ Enabled: true
620
+ PreferredDelimiters:
621
+ default: "()"
622
+ "%i": "()"
623
+ "%I": "()"
624
+ "%r": "{}"
625
+ "%w": "()"
626
+ "%W": "()"
627
+ Style/PercentQLiterals:
628
+ Description: Checks if uses of %Q/%q match the configured preference.
629
+ Enabled: true
630
+ Style/PerlBackrefs:
631
+ Description: Avoid Perl-style regex back references.
632
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
633
+ Enabled: false
634
+ Style/PredicateName:
635
+ Description: Check the names of predicate methods.
636
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
637
+ Enabled: true
638
+ Style/Proc:
639
+ Description: Use proc instead of Proc.new.
640
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
641
+ Enabled: true
642
+ Style/RaiseArgs:
643
+ Description: Checks the arguments passed to raise/fail.
644
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
645
+ Enabled: false
646
+ Style/RedundantBegin:
647
+ Description: Don't use begin blocks when they are not needed.
648
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#begin-implicit
649
+ Enabled: true
650
+ Style/RedundantException:
651
+ Description: Checks for an obsolete RuntimeException argument in raise/fail.
652
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror
653
+ Enabled: true
654
+ Style/RedundantReturn:
655
+ Description: Don't use return where it's not required.
656
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-return
657
+ Enabled: true
658
+ Style/RedundantSelf:
659
+ Description: Don't use self where it's not needed.
660
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-self-unless-required
661
+ Enabled: true
662
+ Style/RegexpLiteral:
663
+ Description: Use / or %r around regular expressions.
664
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r
665
+ Enabled: false
666
+ Layout/RescueEnsureAlignment:
667
+ Description: Align rescues and ensures correctly.
668
+ Enabled: false
669
+ Style/RescueModifier:
670
+ Description: Avoid using rescue in its modifier form.
671
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers
672
+ Enabled: false
673
+ Style/SelfAssignment:
674
+ Description: Checks for places where self-assignment shorthand should have been
675
+ used.
676
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
677
+ Enabled: true
678
+ Style/Semicolon:
679
+ Description: Don't use semicolons to terminate expressions.
680
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon
681
+ Enabled: true
682
+ Style/SignalException:
683
+ Description: Checks for proper usage of fail and raise.
684
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
685
+ Enabled: true
686
+ Style/SingleLineBlockParams:
687
+ Description: Enforces the names of some block params.
688
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
689
+ Enabled: true
690
+ Style/SingleLineMethods:
691
+ Description: Avoid single-line methods.
692
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
693
+ Enabled: false
694
+ Layout/SpaceBeforeFirstArg:
695
+ Description: Checks that exactly one space is used between a method name and the
696
+ first argument for method calls without parentheses.
697
+ Enabled: true
698
+ Layout/SpaceAfterColon:
699
+ Description: Use spaces after colons.
700
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
701
+ Enabled: true
702
+ Layout/SpaceAfterComma:
703
+ Description: Use spaces after commas.
704
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
705
+ Enabled: true
706
+ Layout/SpaceAroundKeyword:
707
+ Description: Use spaces around keywords.
708
+ Enabled: true
709
+ Layout/SpaceAfterMethodName:
710
+ Description: Do not put a space between a method name and the opening parenthesis
711
+ in a method definition.
712
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
713
+ Enabled: true
714
+ Layout/SpaceAfterNot:
715
+ Description: Tracks redundant space after the ! operator.
716
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang
717
+ Enabled: false
718
+ Layout/SpaceAfterSemicolon:
719
+ Description: Use spaces after semicolons.
720
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
721
+ Enabled: true
722
+ Layout/SpaceBeforeBlockBraces:
723
+ Description: Checks that the left block brace has or doesn't have space before it.
724
+ Enabled: false
725
+ Layout/SpaceBeforeComma:
726
+ Description: No spaces before commas.
727
+ Enabled: false
728
+ Layout/SpaceBeforeComment:
729
+ Description: Checks for missing space between code and a comment on the same line.
730
+ Enabled: false
731
+ Layout/SpaceBeforeSemicolon:
732
+ Description: No spaces before semicolons.
733
+ Enabled: false
734
+ Layout/SpaceInsideBlockBraces:
735
+ Description: Checks that block braces have or don't have surrounding space. For
736
+ blocks taking parameters, checks that the left brace has or doesn't have trailing
737
+ space.
738
+ Enabled: false
739
+ Layout/SpaceAroundBlockParameters:
740
+ Description: Checks the spacing inside and after block parameters pipes.
741
+ Enabled: true
742
+ Layout/SpaceAroundEqualsInParameterDefault:
743
+ Description: Checks that the equals signs in parameter default assignments have
744
+ or don't have surrounding space depending on configuration.
745
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-around-equals
746
+ Enabled: true
747
+ Layout/SpaceAroundOperators:
748
+ Description: Use a single space around operators.
749
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
750
+ Enabled: true
751
+ Layout/SpaceInsideBrackets:
752
+ Description: No spaces after [ or before ].
753
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
754
+ Enabled: false
755
+ Layout/SpaceInsideHashLiteralBraces:
756
+ Description: Use spaces inside hash literal braces - or don't.
757
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
758
+ Enabled: true
759
+ Layout/SpaceInsideParens:
760
+ Description: No spaces after ( or before ).
761
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
762
+ Enabled: true
763
+ Layout/SpaceInsideRangeLiteral:
764
+ Description: No spaces inside range literals.
765
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals
766
+ Enabled: true
767
+ Layout/SpaceInsideStringInterpolation:
768
+ Description: Checks for padding/surrounding spaces inside string interpolation.
769
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#string-interpolation
770
+ Enabled: false
771
+ Style/SpecialGlobalVars:
772
+ Description: Avoid Perl-style global variables.
773
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
774
+ Enabled: false
775
+ Style/StringLiterals:
776
+ Description: Checks if uses of quotes match the configured preference.
777
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
778
+ EnforcedStyle: double_quotes
779
+ Enabled: true
780
+ Style/StringLiteralsInInterpolation:
781
+ Description: Checks if uses of quotes inside expressions in interpolated strings
782
+ match the configured preference.
783
+ Enabled: true
784
+ Style/StructInheritance:
785
+ Description: Checks for inheritance from Struct.new.
786
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new
787
+ Enabled: false
788
+ Style/SymbolLiteral:
789
+ Description: Use plain symbols instead of string symbols when possible.
790
+ Enabled: false
791
+ Style/SymbolProc:
792
+ Description: Use symbols as procs instead of blocks when possible.
793
+ Enabled: false
794
+ Layout/Tab:
795
+ Description: No hard tabs.
796
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
797
+ Enabled: false
798
+ Layout/TrailingBlankLines:
799
+ Description: Checks trailing blank lines and final newline.
800
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
801
+ Enabled: false
802
+ Style/TrailingCommaInArguments:
803
+ Description: Checks for trailing comma in parameter lists.
804
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma
805
+ Enabled: false
806
+ Style/TrailingCommaInLiteral:
807
+ Description: Checks for trailing comma in literals.
808
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
809
+ Enabled: false
810
+ Layout/TrailingWhitespace:
811
+ Description: Avoid trailing whitespace.
812
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace
813
+ Enabled: false
814
+ Style/TrivialAccessors:
815
+ Description: Prefer attr_* methods to trivial readers/writers.
816
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
817
+ Enabled: false
818
+ Style/UnlessElse:
819
+ Description: Do not use unless with else. Rewrite these with the positive case first.
820
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
821
+ Enabled: true
822
+ Style/UnneededCapitalW:
823
+ Description: Checks for %W when interpolation is not needed.
824
+ Enabled: false
825
+ Style/UnneededPercentQ:
826
+ Description: Checks for %q/%Q when single quotes or double quotes would do.
827
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
828
+ Enabled: false
829
+ Style/TrailingUnderscoreVariable:
830
+ Description: Checks for the usage of unneeded trailing underscores at the end of
831
+ parallel variable assignment.
832
+ Enabled: false
833
+ Style/VariableInterpolation:
834
+ Description: Don't interpolate global, instance and class variables directly in
835
+ strings.
836
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
837
+ Enabled: true
838
+ Style/VariableName:
839
+ Description: Use the configured style when naming variables.
840
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
841
+ Enabled: true
842
+ Style/WhenThen:
843
+ Description: Use when x then ... for one-line cases.
844
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
845
+ Enabled: true
846
+ Style/WhileUntilDo:
847
+ Description: Checks for redundant do after while or until.
848
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do
849
+ Enabled: true
850
+ Style/WhileUntilModifier:
851
+ Description: Favor modifier while/until usage when you have a single-line body.
852
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
853
+ Enabled: true
854
+ Style/MutableConstant:
855
+ Enabled: true
856
+ Style/FrozenStringLiteralComment:
857
+ Enabled: true
858
+ Style/WordArray:
859
+ Description: Use %w or %W for arrays of words.
860
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
861
+ Enabled: true
862
+ Style/EmptyMethod:
863
+ Enabled: false
864
+ Security/Eval:
865
+ Description: The use of eval represents a serious security risk.
866
+ Enabled: true