mios 0.3.0 → 0.3.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 (59) hide show
  1. data/.rubocop.yml +769 -0
  2. data/README.md +21 -3
  3. data/lib/mios/action.rb +25 -18
  4. data/lib/mios/category.rb +14 -0
  5. data/lib/mios/category_collection.rb +38 -0
  6. data/lib/mios/client.rb +35 -0
  7. data/lib/mios/device.rb +47 -55
  8. data/lib/mios/interface.rb +53 -37
  9. data/lib/mios/job.rb +33 -34
  10. data/lib/mios/room.rb +14 -0
  11. data/lib/mios/scene.rb +22 -0
  12. data/lib/mios/services/camera1.rb +4 -5
  13. data/lib/mios/services/dimmable_light1.rb +5 -6
  14. data/lib/mios/services/door_lock1.rb +12 -13
  15. data/lib/mios/services/energy_metering1.rb +5 -6
  16. data/lib/mios/services/generic_sensor1.rb +4 -4
  17. data/lib/mios/services/ha_device1.rb +7 -8
  18. data/lib/mios/services/humidity_sensor1.rb +4 -5
  19. data/lib/mios/services/hvac_fan_operating_mode1.rb +3 -4
  20. data/lib/mios/services/hvac_operating_state1.rb +3 -4
  21. data/lib/mios/services/hvac_user_operating_mode1.rb +3 -4
  22. data/lib/mios/services/light_sensor1.rb +4 -12
  23. data/lib/mios/services/scene_controller1.rb +4 -4
  24. data/lib/mios/services/security_sensor1.rb +11 -12
  25. data/lib/mios/services/switch_power1.rb +7 -8
  26. data/lib/mios/services/temperature_sensor1.rb +3 -4
  27. data/lib/mios/services/temperature_setpoint1_cool.rb +3 -4
  28. data/lib/mios/services/temperature_setpoint1_heat.rb +3 -4
  29. data/lib/mios/services/window_covering1.rb +5 -6
  30. data/lib/mios/services/zwave_device1.rb +3 -3
  31. data/lib/mios/services/zwave_network1.rb +3 -3
  32. data/lib/mios/type_conversion.rb +21 -0
  33. data/lib/mios/version.rb +1 -1
  34. data/lib/mios.rb +12 -6
  35. data/mios.gemspec +2 -3
  36. data/spec/integration/lights_spec.rb +17 -0
  37. data/spec/lib/mios/category_collection_spec.rb +37 -0
  38. data/spec/lib/mios/category_spec.rb +15 -0
  39. data/spec/lib/mios/client_spec.rb +28 -0
  40. data/spec/lib/mios/device_spec.rb +69 -6
  41. data/spec/lib/mios/interface_spec.rb +123 -7
  42. data/spec/lib/mios/job_spec.rb +54 -0
  43. data/spec/lib/mios/room_spec.rb +26 -0
  44. data/spec/lib/mios/scene_spec.rb +27 -0
  45. data/spec/lib/mios/services/energy_metering1_spec.rb +1 -1
  46. data/spec/lib/mios/services/hvac_fan_operating_mode1_spec.rb +1 -1
  47. data/spec/lib/mios/services/hvac_operating_state1_spec.rb +1 -1
  48. data/spec/lib/mios/services/hvac_user_operating_mode1_spec.rb +1 -1
  49. data/spec/lib/mios/services/temperature_setpoint1_cool_spec.rb +1 -1
  50. data/spec/lib/mios/services/temperature_setpoint1_heat_spec.rb +1 -1
  51. data/spec/spec_helper.rb +18 -0
  52. data/spec/support/device_data/category_filter.json +75 -0
  53. data/spec/support/device_data/data_request.json +7814 -0
  54. data/spec/support/device_data/device_attributes.json +21 -0
  55. data/spec/support/vcr_cassettes/data_request_failure.yml +28 -0
  56. data/spec/support/vcr_cassettes/run_scene.yml +28 -0
  57. data/spec/support/vcr_cassettes/turn_off_light.yml +2648 -0
  58. data/spec/support/vcr_cassettes/turn_on_light.yml +2647 -0
  59. metadata +57 -39
data/.rubocop.yml ADDED
@@ -0,0 +1,769 @@
1
+ # These are all the cops that are enabled in the default configuration.
2
+
3
+ AccessModifierIndentation:
4
+ Description: Check indentation of private/protected visibility modifiers.
5
+ Enabled: false
6
+
7
+ AccessorMethodName:
8
+ Description: Check the naming of accessor methods for get_/set_.
9
+ Enabled: false
10
+
11
+ Alias:
12
+ Description: 'Use alias_method instead of alias.'
13
+ Enabled: false
14
+
15
+ AlignArray:
16
+ Description: >-
17
+ Align the elements of an array literal if they span more than
18
+ one line.
19
+ Enabled: false
20
+
21
+ AlignHash:
22
+ Description: >-
23
+ Align the elements of a hash literal if they span more than
24
+ one line.
25
+ Enabled: false
26
+
27
+ AlignParameters:
28
+ Description: >-
29
+ Align the parameters of a method call if they span more
30
+ than one line.
31
+ Enabled: false
32
+
33
+ AndOr:
34
+ Description: 'Use &&/|| instead of and/or.'
35
+ Enabled: true
36
+
37
+ ArrayJoin:
38
+ Description: 'Use Array#join instead of Array#*.'
39
+ Enabled: false
40
+
41
+ AsciiComments:
42
+ Description: 'Use only ascii symbols in comments.'
43
+ Enabled: false
44
+
45
+ AsciiIdentifiers:
46
+ Description: 'Use only ascii symbols in identifiers.'
47
+ Enabled: false
48
+
49
+ Attr:
50
+ Description: 'Checks for uses of Module#attr.'
51
+ Enabled: false
52
+
53
+ BeginBlock:
54
+ Description: 'Avoid the use of BEGIN blocks.'
55
+ Enabled: false
56
+
57
+ BlockComments:
58
+ Description: 'Do not use block comments.'
59
+ Enabled: true
60
+
61
+ BlockNesting:
62
+ Description: 'Avoid excessive block nesting'
63
+ Enabled: false
64
+
65
+ Blocks:
66
+ Description: >-
67
+ Avoid using {...} for multi-line blocks (multiline chaining is
68
+ always ugly).
69
+ Prefer {...} over do...end for single-line blocks.
70
+ Enabled: false
71
+
72
+ BracesAroundHashParameters:
73
+ # Valid values are: braces, no_braces
74
+ EnforcedStyle: no_braces
75
+ Enabled: true
76
+
77
+ CaseEquality:
78
+ Description: 'Avoid explicit use of the case equality operator(===).'
79
+ Enabled: false
80
+
81
+ CaseIndentation:
82
+ Description: 'Indentation of when in a case/when/[else/]end.'
83
+ Enabled: false
84
+
85
+ CharacterLiteral:
86
+ Description: 'Checks for uses of character literals.'
87
+ Enabled: false
88
+
89
+ ClassAndModuleCamelCase:
90
+ Description: 'Use CamelCase for classes and modules.'
91
+ Enabled: true
92
+
93
+ ClassAndModuleChildren:
94
+ Description: 'Checks style of children classes and modules.'
95
+ Enabled: false
96
+
97
+ ClassLength:
98
+ Description: 'Avoid classes longer than 100 lines of code.'
99
+ Enabled: false
100
+
101
+ ClassMethods:
102
+ Description: 'Use self when defining module/class methods.'
103
+ Enabled: true
104
+
105
+ ClassVars:
106
+ Description: 'Avoid the use of class variables.'
107
+ Enabled: false
108
+
109
+ CollectionMethods:
110
+ Description: 'Preferred collection methods.'
111
+ Enabled: false
112
+
113
+ ColonMethodCall:
114
+ Description: 'Do not use :: for method call.'
115
+ Enabled: true
116
+
117
+ CommentAnnotation:
118
+ Description: >-
119
+ Checks formatting of special comments
120
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
121
+ Enabled: false
122
+
123
+ ConstantName:
124
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
125
+ Enabled: true
126
+
127
+ CyclomaticComplexity:
128
+ Description: 'Avoid complex methods.'
129
+ Enabled: false
130
+
131
+ DefWithParentheses:
132
+ Description: 'Use def with parentheses when there are arguments.'
133
+ Enabled: true
134
+
135
+ DefWithoutParentheses:
136
+ Description: >
137
+ Omit the parentheses when the method doesn't accept
138
+ any arguments.
139
+ Enabled: true
140
+
141
+ DeprecatedHashMethods:
142
+ Description: 'Checks for use of deprecated Hash methods.'
143
+ Enabled: false
144
+
145
+ Documentation:
146
+ Description: 'Document classes and non-namespace modules.'
147
+ Enabled: false
148
+
149
+ DotPosition:
150
+ Description: 'Checks the position of the dot in multi-line method calls.'
151
+ Style: 'leading'
152
+ Enabled: false
153
+
154
+ DoubleNegation:
155
+ Description: 'Checks for uses of double negation (!!).'
156
+ Enabled: false
157
+
158
+ EmptyLineBetweenDefs:
159
+ Description: 'Use empty lines between defs.'
160
+ Enabled: true
161
+
162
+ EmptyLines:
163
+ Description: "Don't use several empty lines in a row."
164
+ Enabled: true
165
+
166
+ EmptyLinesAroundAccessModifier:
167
+ Description: "Keep blank lines around access modifiers."
168
+ Enabled: false
169
+
170
+ EmptyLinesAroundBody:
171
+ Description: "Keeps track of empty lines around expression bodies."
172
+ Enabled: false
173
+
174
+ EmptyLiteral:
175
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
176
+ Enabled: false
177
+
178
+ Encoding:
179
+ Description: 'Use UTF-8 as the source file encoding.'
180
+ Enabled: false
181
+
182
+ EndBlock:
183
+ Description: 'Avoid the use of END blocks.'
184
+ Enabled: false
185
+
186
+ EndOfLine:
187
+ Description: 'Use Unix-style line endings.'
188
+ Enabled: true
189
+
190
+ EvenOdd:
191
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
192
+ Enabled: false
193
+
194
+ FileName:
195
+ Description: 'Use snake_case for source file names.'
196
+ Enabled: false
197
+
198
+ FinalNewline:
199
+ Description: 'Checks for a final newline in a source file.'
200
+ Enabled: true
201
+
202
+ FlipFlop:
203
+ Description: 'Checks for flip flops'
204
+ Enabled: false
205
+
206
+ For:
207
+ Description: 'Checks use of for or each in multiline loops.'
208
+ Enabled: false
209
+
210
+ FormatString:
211
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
212
+ Enabled: false
213
+
214
+ GlobalVars:
215
+ Description: 'Do not introduce global variables.'
216
+ Enabled: false
217
+
218
+ HashSyntax:
219
+ Description: >
220
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
221
+ { :a => 1, :b => 2 }.
222
+ EnforcedStyle: ruby19
223
+ Enabled: true
224
+
225
+ IfUnlessModifier:
226
+ Description: >-
227
+ Favor modifier if/unless usage when you have a
228
+ single-line body.
229
+ Enabled: false
230
+
231
+ IfWithSemicolon:
232
+ Description: 'Never use if x; .... Use the ternary operator instead.'
233
+ Enabled: true
234
+
235
+ IndentationConsistency:
236
+ Description: 'Keep indentation straight.'
237
+ Enabled: fals
238
+
239
+ IndentationWidth:
240
+ Description: 'Use 2 spaces for indentation.'
241
+ Enabled: true
242
+
243
+ IndentArray:
244
+ Description: >-
245
+ Checks the indentation of the first element in an array
246
+ literal.
247
+ Enabled: false
248
+
249
+ IndentHash:
250
+ Description: 'Checks the indentation of the first key in a hash literal.'
251
+ Enabled: false
252
+
253
+ Lambda:
254
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
255
+ Enabled: false
256
+
257
+ LambdaCall:
258
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
259
+ Enabled: false
260
+
261
+ LeadingCommentSpace:
262
+ Description: 'Comments should start with a space.'
263
+ Enabled: false
264
+
265
+ LineEndConcatenation:
266
+ Description: >-
267
+ Use \ instead of + or << to concatenate two string literals at
268
+ line end.
269
+ Enabled: false
270
+
271
+ LineLength:
272
+ Description: 'Limit lines to 120 characters.'
273
+ Max: 120
274
+ Enabled: true
275
+
276
+ MethodCallParentheses:
277
+ Description: 'Do not use parentheses for method calls with no arguments.'
278
+ Enabled: true
279
+
280
+ MethodDefParentheses:
281
+ Description: >-
282
+ Checks if the method definitions have or don't have
283
+ parentheses.
284
+ Enabled: false
285
+
286
+ MethodLength:
287
+ Description: 'Avoid methods longer than 10 lines of code.'
288
+ Enabled: false
289
+
290
+ MethodName:
291
+ # Valid values are: snake_case, camelCase
292
+ Description: 'Use the configured style when naming methods.'
293
+ EnforcedStyle: snake_case
294
+ Enabled: true
295
+
296
+ ModuleFunction:
297
+ Description: 'Checks for usage of `extend self` in modules.'
298
+ Enabled: false
299
+
300
+ MultilineBlockChain:
301
+ Description: 'Avoid multi-line chains of blocks.'
302
+ Enabled: false
303
+
304
+ MultilineIfThen:
305
+ Description: 'Never use then for multi-line if/unless.'
306
+ Enabled: false
307
+
308
+ MultilineTernaryOperator:
309
+ Description: >-
310
+ Avoid multi-line ?: (the ternary operator);
311
+ use if/unless instead.
312
+ Enabled: false
313
+
314
+ NegatedIf:
315
+ Description: >-
316
+ Favor unless over if for negative conditions
317
+ (or control flow or).
318
+ Enabled: false
319
+
320
+ NegatedWhile:
321
+ Description: 'Favor until over while for negative conditions.'
322
+ Enabled: false
323
+
324
+ NestedTernaryOperator:
325
+ Description: 'Use one expression per branch in a ternary operator.'
326
+ Enabled: false
327
+
328
+ NilComparison:
329
+ Description: 'Prefer x.nil? to x == nil.'
330
+ Enabled: false
331
+
332
+ NonNilCheck:
333
+ Description: 'Checks for redundant nil checks.'
334
+ Enabled: false
335
+
336
+ Not:
337
+ Description: 'Use ! instead of not.'
338
+ Enabled: true
339
+
340
+ NumericLiterals:
341
+ Description: >-
342
+ Add underscores to large numeric literals to improve their
343
+ readability.
344
+ Enabled: false
345
+
346
+ OneLineConditional:
347
+ Description: >-
348
+ Favor the ternary operator(?:) over
349
+ if/then/else/end constructs.
350
+ Enabled: false
351
+
352
+ OpMethod:
353
+ Description: 'When defining binary operators, name the argument other.'
354
+ Enabled: false
355
+
356
+ ParameterLists:
357
+ Description: 'Avoid parameter lists longer than three or four parameters.'
358
+ Enabled: false
359
+
360
+ ParenthesesAroundCondition:
361
+ Description: >
362
+ Don't use parentheses around the condition of an
363
+ if/unless/while.
364
+ Enabled: true
365
+
366
+ PercentLiteralDelimiters:
367
+ Description: 'Use `%`-literal delimiters consistently'
368
+ Enabled: false
369
+
370
+ PerlBackrefs:
371
+ Description: 'Avoid Perl-style regex back references.'
372
+ Enabled: false
373
+
374
+ PredicateName:
375
+ Description: 'Check the names of predicate methods.'
376
+ Enabled: false
377
+
378
+ Proc:
379
+ Description: 'Use proc instead of Proc.new.'
380
+ Enabled: false
381
+
382
+ RaiseArgs:
383
+ Description: 'Checks the arguments passed to raise/fail.'
384
+ Enabled: false
385
+
386
+ ReduceArguments:
387
+ Description: 'Name reduce arguments |a, e| (accumulator, element)'
388
+ Enabled: true
389
+
390
+ RedundantBegin:
391
+ Description: "Don't use begin blocks when they are not needed."
392
+ Enabled: true
393
+
394
+ RedundantException:
395
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
396
+ Enabled: false
397
+
398
+ RedundantReturn:
399
+ Description: "Don't use return where it's not required."
400
+ Enabled: true
401
+
402
+ RedundantSelf:
403
+ Description: "Don't use self where it's not needed."
404
+ Enabled: true
405
+
406
+ RegexpLiteral:
407
+ Description: >-
408
+ Use %r for regular expressions matching more than
409
+ `MaxSlashes` '/' characters.
410
+ Use %r only for regular expressions matching more than
411
+ `MaxSlashes` '/' character.
412
+ Enabled: false
413
+
414
+ RescueModifier:
415
+ Description: 'Avoid using rescue in its modifier form.'
416
+ Enabled: false
417
+
418
+ SelfAssignment:
419
+ Description: 'Checks for places where self-assignment shorthand should have been used.'
420
+ Enabled: false
421
+
422
+ Semicolon:
423
+ Description: "Don't use semicolons to terminate expressions."
424
+ Enabled: false
425
+
426
+ SignalException:
427
+ Description: 'Checks for proper usage of fail and raise.'
428
+ Enabled: false
429
+
430
+ SingleLineBlockParams:
431
+ Description: 'Enforces the names of some block params.'
432
+ Enabled: false
433
+
434
+ SingleLineMethods:
435
+ Description: 'Avoid single-line methods.'
436
+ Enabled: false
437
+
438
+ SingleSpaceBeforeFirstArg:
439
+ Description: >-
440
+ Checks that exactly one space is used between a method name
441
+ and the first argument for method calls without parentheses.
442
+ Enabled: false
443
+
444
+ SpaceAfterColon:
445
+ Description: 'Use spaces after colons.'
446
+ Enabled: true
447
+
448
+ SpaceAfterComma:
449
+ Description: 'Use spaces after commas.'
450
+ Enabled: true
451
+
452
+ SpaceAfterControlKeyword:
453
+ Description: 'Use spaces after if/elsif/unless/while/until/case/when.'
454
+ Enabled: true
455
+
456
+ SpaceAfterMethodName:
457
+ Description: >
458
+ Never put a space between a method name and the opening
459
+ parenthesis.
460
+ Enabled: true
461
+
462
+ SpaceAfterNot:
463
+ Description: Tracks redundant space after the ! operator.
464
+ Enabled: true
465
+
466
+ SpaceAfterSemicolon:
467
+ Description: 'Use spaces after semicolons.'
468
+ Enabled: true
469
+
470
+ SpaceBeforeBlockBraces:
471
+ Description: >-
472
+ Checks that the left block brace has or doesn't have space
473
+ before it.
474
+ Enabled: false
475
+
476
+ SpaceInsideBlockBraces:
477
+ Description: >-
478
+ Checks that block braces have or don't have surrounding space.
479
+ For blocks taking parameters, checks that the left brace has
480
+ or doesn't have trailing space.
481
+ Enabled: false
482
+
483
+ SpaceAroundEqualsInParameterDefault:
484
+ Description: >
485
+ Use spaces around the = operator when assigning default
486
+ values in def params.
487
+ Enabled: true
488
+
489
+ SpaceAroundOperators:
490
+ Description: 'Use spaces around operators.'
491
+ Enabled: true
492
+
493
+ SpaceBeforeModifierKeyword:
494
+ Description: 'Put a space before the modifier keyword.'
495
+ Enabled: true
496
+
497
+ SpaceInsideBrackets:
498
+ Description: 'No spaces after [ or before ].'
499
+ Enabled: true
500
+
501
+ SpaceInsideHashLiteralBraces:
502
+ Description: "Use spaces inside hash literal braces - or don't."
503
+ # Valid values (for both parameters) are: space, no_space
504
+ EnforcedStyle: space
505
+ EnforcedStyleForEmptyBraces: no_space
506
+ Enabled: true
507
+
508
+ SpaceInsideParens:
509
+ Description: 'No spaces after ( or before ).'
510
+ Enabled: true
511
+
512
+ SpecialGlobalVars:
513
+ Description: 'Avoid Perl-style global variables.'
514
+ Enabled: false
515
+
516
+ StringLiterals:
517
+ # Valid values (denoting the preferred quote delimiters) are:
518
+ # single_quotes, double_quotes
519
+ EnforcedStyle: single_quotes
520
+ Enabled: true
521
+
522
+ SymbolName:
523
+ Description: 'Symbol literals should use snake_case.'
524
+ Enabled: true
525
+
526
+ Tab:
527
+ Description: 'No hard tabs.'
528
+ Enabled: true
529
+
530
+ TrailingBlankLines:
531
+ Description: 'Checks for superflous trailing blank lines.'
532
+ Enabled: true
533
+
534
+ TrailingComma:
535
+ Description: 'Checks for trailing comma in parameter lists and literals.'
536
+ Enabled: false
537
+
538
+ TrailingWhitespace:
539
+ Description: 'Avoid trailing whitespace.'
540
+ Enabled: true
541
+
542
+ TrivialAccessors:
543
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
544
+ Enabled: true
545
+
546
+ UnlessElse:
547
+ Description: >
548
+ Never use unless with else. Rewrite these with the positive
549
+ case first.
550
+ Enabled: true
551
+
552
+ VariableInterpolation:
553
+ Description: >-
554
+ Don't interpolate global, instance and class variables
555
+ directly in strings.
556
+ Enabled: true
557
+
558
+ VariableName:
559
+ Description: 'Use the configured style when naming variables.'
560
+ # Valid values are: snake_case, camelCase
561
+ EnforcedStyle: snake_case
562
+ Enabled: true
563
+
564
+ WhenThen:
565
+ Description: 'Use when x then ... for one-line cases.'
566
+ Enabled: false
567
+
568
+ WhileUntilDo:
569
+ Description: 'Checks for redundant do after while or until.'
570
+ Enabled: false
571
+
572
+ WhileUntilModifier:
573
+ Description: >-
574
+ Favor modifier while/until usage when you have a
575
+ single-line body.
576
+ Enabled: false
577
+
578
+ WordArray:
579
+ Description: 'Use %w or %W for arrays of words.'
580
+ Enabled: false
581
+
582
+ #################### Lint ################################
583
+ ### Warnings
584
+
585
+ AmbiguousOperator:
586
+ Description: >-
587
+ Checks for ambiguous operators in the first argument of a
588
+ method invocation without parentheses.
589
+ Enabled: false
590
+
591
+ AmbiguousRegexpLiteral:
592
+ Description: >-
593
+ Checks for ambiguous regexp literals in the first argument of
594
+ a method invocation without parenthesis.
595
+ Enabled: false
596
+
597
+ AssignmentInCondition:
598
+ Description: "Don't use assignment in conditions."
599
+ Enabled: false
600
+
601
+ BlockAlignment:
602
+ Description: 'Align block ends correctly.'
603
+ Enabled: false
604
+
605
+ ConditionPosition:
606
+ Description: 'Checks for condition placed in a confusing position relative to the keyword.'
607
+ Enabled: false
608
+
609
+ Debugger:
610
+ Description: 'Check for debugger calls.'
611
+ Enabled: false
612
+
613
+ DeprecatedClassMethods:
614
+ Description: 'Check for deprecated class method calls.'
615
+ Enabled: false
616
+
617
+ ElseLayout:
618
+ Description: 'Check for odd code arrangement in an else block.'
619
+ Enabled: false
620
+
621
+ EmptyEnsure:
622
+ Description: 'Checks for empty ensure block.'
623
+ Enabled: false
624
+
625
+ EmptyInterpolation:
626
+ Description: 'Checks for empty string interpolation.'
627
+ Enabled: false
628
+
629
+ EndAlignment:
630
+ Description: 'Align ends correctly.'
631
+ Enabled: false
632
+
633
+ EndInMethod:
634
+ Description: 'END blocks should not be placed inside method definitions.'
635
+ Enabled: false
636
+
637
+ EnsureReturn:
638
+ Description: 'Never use return in an ensure block.'
639
+ Enabled: false
640
+
641
+ Eval:
642
+ Description: 'The use of eval represents a serious security risk.'
643
+ Enabled: false
644
+
645
+ HandleExceptions:
646
+ Description: "Don't suppress exception."
647
+ Enabled: false
648
+
649
+ InvalidCharacterLiteral:
650
+ Description: >-
651
+ Checks for invalid character literals with a non-escaped
652
+ whitespace character.
653
+ Enabled: false
654
+
655
+ LiteralInCondition:
656
+ Description: 'Checks of literals used in conditions.'
657
+ Enabled: false
658
+
659
+ LiteralInInterpolation:
660
+ Description: 'Checks for literals used in interpolation.'
661
+ Enabled: false
662
+
663
+ Loop:
664
+ Description: >-
665
+ Use Kernel#loop with break rather than begin/end/until or
666
+ begin/end/while for post-loop tests.
667
+ Enabled: false
668
+
669
+ ParenthesesAsGroupedExpression:
670
+ Description: >-
671
+ Checks for method calls with a space before the opening
672
+ parenthesis.
673
+ Enabled: false
674
+
675
+ RequireParentheses:
676
+ Description: >-
677
+ Use parentheses in the method call to avoid confusion
678
+ about precedence.
679
+ Enabled: false
680
+
681
+ RescueException:
682
+ Description: 'Avoid rescuing the Exception class.'
683
+ Enabled: false
684
+
685
+ ShadowingOuterLocalVariable:
686
+ Description: >-
687
+ Do not use the same name as outer local variable
688
+ for block arguments or block local variables.
689
+ Enabled: false
690
+
691
+ SpaceBeforeFirstArg:
692
+ Description: >-
693
+ Put a space between a method name and the first argument
694
+ in a method call without parentheses.
695
+ Enabled: false
696
+
697
+ StringConversionInInterpolation:
698
+ Description: 'Checks for Object#to_s usage in string interpolation.'
699
+ Enabled: false
700
+
701
+ UnderscorePrefixedVariableName:
702
+ Description: 'Do not use prefix `_` for a variable that is used.'
703
+ Enabled: false
704
+
705
+ UnusedBlockArgument:
706
+ Description: 'Checks for unused block arguments.'
707
+ Enabled: false
708
+
709
+ UnusedMethodArgument:
710
+ Description: 'Checks for unused method arguments.'
711
+ Enabled: false
712
+
713
+ UnreachableCode:
714
+ Description: 'Unreachable code.'
715
+ Enabled: false
716
+
717
+ UselessAccessModifier:
718
+ Description: 'Checks for useless access modifiers.'
719
+ Enabled: false
720
+
721
+ UselessAssignment:
722
+ Description: 'Checks for useless assignment to a local variable.'
723
+ Enabled: false
724
+
725
+ UselessComparison:
726
+ Description: 'Checks for comparison of something with itself.'
727
+ Enabled: false
728
+
729
+ UselessElseWithoutRescue:
730
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
731
+ Enabled: false
732
+
733
+ UselessSetterCall:
734
+ Description: 'Checks for useless setter call to a local variable.'
735
+ Enabled: false
736
+
737
+ Void:
738
+ Description: 'Possible use of operator/literal/variable in void context.'
739
+ Enabled: false
740
+
741
+ ##################### Rails ##################################
742
+
743
+ ActionFilter:
744
+ Description: 'Enforces consistent use of action filter methods.'
745
+ Enabled: false
746
+
747
+ DefaultScope:
748
+ Description: 'Checks if the argument passed to default_scope is a block.'
749
+ Enabled: false
750
+
751
+ HasAndBelongsToMany:
752
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
753
+ Enabled: false
754
+
755
+ Output:
756
+ Description: 'Checks for calls to puts, print, etc.'
757
+ Enabled: false
758
+
759
+ ReadWriteAttribute:
760
+ Description: 'Checks for read_attribute(:attr) and write_attribute(:attr, val).'
761
+ Enabled: false
762
+
763
+ ScopeArgs:
764
+ Description: 'Checks the arguments of ActiveRecord scopes.'
765
+ Enabled: false
766
+
767
+ Validation:
768
+ Description: 'Use sexy validations.'
769
+ Enabled: false