mios 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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