monkey_master 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA512:
3
- metadata.gz: b983e4acff0f8b829bdd925d79fc8c6ceaa822f8b8f2fe7d78504d6878ed7c2c12a6f1297491672db250b088a458345d28795edde2a32fe02d16803cae58df45
4
- data.tar.gz: df069919c860e5d650e979fed3153b9d6c6451cd0194a65be571bb8a364418e9f3163e223960444ae8f77d4e11a29f0e1039e7a3591ad76217533ed3ca1926f2
5
- SHA1:
6
- metadata.gz: 4772c7790a6dc9aaab02b3c51af3c7861e46b22a
7
- data.tar.gz: 8204783357e7bacbef55815c00b8039f28d2c27c
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 60c6b6248c22c0ca8573daa898fc666c0e67aa41
4
+ data.tar.gz: 41459fb8e0e711a838dca9834353251290313bb4
5
+ SHA512:
6
+ metadata.gz: d8a9b3bb5041b731272aea7271456447336a9ba8f9d5cbdc1c9ac21d923ca830a9cf58c228acef861a194cd08b7cef5e5c1186584528d8edcccabdac05927d79
7
+ data.tar.gz: 161286fc713cff3ae40eb7720b7f25c2178d26f0f6d4b0563d05b5a489cba030b58088db1e978c381865516f72cc29060a1e365a55a47046d912b45598dd0c60
data/.gitignore CHANGED
@@ -15,4 +15,7 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
- monkey_logs
18
+ monkey_logs*
19
+ .DS_Store
20
+ mkmf.log
21
+ blinkspec.json
data/.rubocop.yml ADDED
@@ -0,0 +1,865 @@
1
+ # This is the default configuration file. Enabling and disabling is configured
2
+ # in separate files. This file adds all other parameters apart from Enabled.
3
+
4
+ # inherit_from:
5
+ # - enabled.yml
6
+ # - disabled.yml
7
+
8
+ # Common configuration.
9
+ AllCops:
10
+ # Include common Ruby source files.
11
+ Include:
12
+ - '**/*.gemspec'
13
+ - '**/*.podspec'
14
+ - '**/*.jbuilder'
15
+ - '**/*.rake'
16
+ - '**/*.opal'
17
+ - '**/config.ru'
18
+ - '**/Gemfile'
19
+ - '**/Rakefile'
20
+ - '**/Capfile'
21
+ - '**/Guardfile'
22
+ - '**/Podfile'
23
+ - '**/Thorfile'
24
+ - '**/Vagrantfile'
25
+ - '**/Berksfile'
26
+ - '**/Cheffile'
27
+ - '**/Vagabondfile'
28
+ Exclude:
29
+ - 'vendor/**/*'
30
+ - 'spec/**/*'
31
+ - 'db/**/*'
32
+ - 'lib/tasks/**/*'
33
+ - 'app/jobs/v1/**/*'
34
+ - 'app/controllers/v1/**/*'
35
+ - 'app/controllers/concerns/v1/**/*'
36
+ # By default, the rails cops are not run. Override in project or home
37
+ # directory .rubocop.yml files, or by giving the -R/--rails option.
38
+ RunRailsCops: false
39
+ # Cop names are not displayed in offense messages by default. Change behavior
40
+ # by overriding DisplayCopNames, or by giving the -D/--display-cop-names
41
+ # option.
42
+ DisplayCopNames: false
43
+ # Style guide URLs are not displayed in offense messages by default. Change
44
+ # behavior by overriding DisplayStyleGuide, or by giving the
45
+ # -S/--display-style-guide option.
46
+ DisplayStyleGuide: false
47
+ # Additional cops that do not reference a style guide rule may be enabled by
48
+ # default. Change behavior by overriding StyleGuideCopsOnly, or by giving
49
+ # the --only-guide-cops option.
50
+ StyleGuideCopsOnly: false
51
+
52
+ # Indent private/protected/public as deep as method definitions
53
+ Style/AccessModifierIndentation:
54
+ EnforcedStyle: indent
55
+ SupportedStyles:
56
+ - outdent
57
+ - indent
58
+
59
+ # Align the elements of a hash literal if they span more than one line.
60
+ Style/AlignHash:
61
+ # Alignment of entries using hash rocket as separator. Valid values are:
62
+ #
63
+ # key - left alignment of keys
64
+ # 'a' => 2
65
+ # 'bb' => 3
66
+ # separator - alignment of hash rockets, keys are right aligned
67
+ # 'a' => 2
68
+ # 'bb' => 3
69
+ # table - left alignment of keys, hash rockets, and values
70
+ # 'a' => 2
71
+ # 'bb' => 3
72
+ EnforcedHashRocketStyle: key
73
+ # Alignment of entries using colon as separator. Valid values are:
74
+ #
75
+ # key - left alignment of keys
76
+ # a: 0
77
+ # bb: 1
78
+ # separator - alignment of colons, keys are right aligned
79
+ # a: 0
80
+ # bb: 1
81
+ # table - left alignment of keys and values
82
+ # a: 0
83
+ # bb: 1
84
+ EnforcedColonStyle: key
85
+ # Select whether hashes that are the last argument in a method call should be
86
+ # inspected? Valid values are:
87
+ #
88
+ # always_inspect - Inspect both implicit and explicit hashes.
89
+ # Registers an offense for:
90
+ # function(a: 1,
91
+ # b: 2)
92
+ # Registers an offense for:
93
+ # function({a: 1,
94
+ # b: 2})
95
+ # always_ignore - Ignore both implicit and explicit hashes.
96
+ # Accepts:
97
+ # function(a: 1,
98
+ # b: 2)
99
+ # Accepts:
100
+ # function({a: 1,
101
+ # b: 2})
102
+ # ignore_implicit - Ignore only implicit hashes.
103
+ # Accepts:
104
+ # function(a: 1,
105
+ # b: 2)
106
+ # Registers an offense for:
107
+ # function({a: 1,
108
+ # b: 2})
109
+ # ignore_explicit - Ignore only explicit hashes.
110
+ # Accepts:
111
+ # function({a: 1,
112
+ # b: 2})
113
+ # Registers an offense for:
114
+ # function(a: 1,
115
+ # b: 2)
116
+ EnforcedLastArgumentHashStyle: always_inspect
117
+ SupportedLastArgumentHashStyles:
118
+ - always_inspect
119
+ - always_ignore
120
+ - ignore_implicit
121
+ - ignore_explicit
122
+
123
+ Style/AlignParameters:
124
+ # Alignment of parameters in multi-line method calls.
125
+ #
126
+ # The `with_first_parameter` style aligns the following lines along the same
127
+ # column as the first parameter.
128
+ #
129
+ # method_call(a,
130
+ # b)
131
+ #
132
+ # The `with_fixed_indentation` style aligns the following lines with one
133
+ # level of indentation relative to the start of the line with the method call.
134
+ #
135
+ # method_call(a,
136
+ # b)
137
+ EnforcedStyle: with_first_parameter
138
+ SupportedStyles:
139
+ - with_first_parameter
140
+ - with_fixed_indentation
141
+
142
+ Style/AndOr:
143
+ # Whether `and` and `or` are banned only in conditionals (conditionals)
144
+ # or completely (always).
145
+ EnforcedStyle: always
146
+ SupportedStyles:
147
+ - always
148
+ - conditionals
149
+
150
+
151
+ # Checks if usage of %() or %Q() matches configuration.
152
+ Style/BarePercentLiterals:
153
+ EnforcedStyle: bare_percent
154
+ SupportedStyles:
155
+ - percent_q
156
+ - bare_percent
157
+
158
+ Style/BlockDelimiters:
159
+ EnforcedStyle: line_count_based
160
+ SupportedStyles:
161
+ # The `line_count_based` style enforces braces around single line blocks and
162
+ # do..end around multi-line blocks.
163
+ - line_count_based
164
+ # The `semantic` style enforces braces around functional blocks, where the
165
+ # primary purpose of the block is to return a value and do..end for
166
+ # procedural blocks, where the primary purpose of the block is its
167
+ # side-effects.
168
+ #
169
+ # This looks at the usage of a block's method to determine its type (e.g. is
170
+ # the result of a `map` assigned to a variable or passed to another
171
+ # method) but exceptions are permitted in the `ProceduralMethods`,
172
+ # `FunctionalMethods` and `IgnoredMethods` sections below.
173
+ - semantic
174
+ ProceduralMethods:
175
+ # Methods that are known to be procedural in nature but look functional from
176
+ # their usage, e.g.
177
+ #
178
+ # time = Benchmark.realtime do
179
+ # foo.bar
180
+ # end
181
+ #
182
+ # Here, the return value of the block is discarded but the return value of
183
+ # `Benchmark.realtime` is used.
184
+ - benchmark
185
+ - bm
186
+ - bmbm
187
+ - create
188
+ - each_with_object
189
+ - measure
190
+ - new
191
+ - realtime
192
+ - tap
193
+ - with_object
194
+ FunctionalMethods:
195
+ # Methods that are known to be functional in nature but look procedural from
196
+ # their usage, e.g.
197
+ #
198
+ # let(:foo) { Foo.new }
199
+ #
200
+ # Here, the return value of `Foo.new` is used to define a `foo` helper but
201
+ # doesn't appear to be used from the return value of `let`.
202
+ - let
203
+ - let!
204
+ - subject
205
+ - watch
206
+ IgnoredMethods:
207
+ # Methods that can be either procedural or functional and cannot be
208
+ # categorised from their usage alone, e.g.
209
+ #
210
+ # foo = lambda do |x|
211
+ # puts "Hello, #{x}"
212
+ # end
213
+ #
214
+ # foo = lambda do |x|
215
+ # x * 100
216
+ # end
217
+ #
218
+ # Here, it is impossible to tell from the return value of `lambda` whether
219
+ # the inner block's return value is significant.
220
+ - lambda
221
+ - proc
222
+ - it
223
+
224
+ Style/BracesAroundHashParameters:
225
+ EnforcedStyle: no_braces
226
+ SupportedStyles:
227
+ # The `braces` style enforces braces around all method parameters that are
228
+ # hashes.
229
+ - braces
230
+ # The `no_braces` style checks that the last parameter doesn't have braces
231
+ # around it.
232
+ - no_braces
233
+ # The `context_dependent` style checks that the last parameter doesn't have
234
+ # braces around it, but requires braces if the second to last parameter is
235
+ # also a hash literal.
236
+ - context_dependent
237
+
238
+ # Indentation of `when`.
239
+ Style/CaseIndentation:
240
+ IndentWhenRelativeTo: case
241
+ SupportedStyles:
242
+ - case
243
+ - end
244
+ IndentOneStep: false
245
+
246
+ Style/ClassAndModuleChildren:
247
+ # Checks the style of children definitions at classes and modules.
248
+ #
249
+ # Basically there are two different styles:
250
+ #
251
+ # `nested` - have each child on a separate line
252
+ # class Foo
253
+ # class Bar
254
+ # end
255
+ # end
256
+ #
257
+ # `compact` - combine definitions as much as possible
258
+ # class Foo::Bar
259
+ # end
260
+ #
261
+ # The compact style is only forced, for classes / modules with one child.
262
+ EnforcedStyle:
263
+ SupportedStyles:
264
+ - nested
265
+ - compact
266
+
267
+ Style/ClassCheck:
268
+ EnforcedStyle: is_a?
269
+ SupportedStyles:
270
+ - is_a?
271
+ - kind_of?
272
+
273
+ # Align with the style guide.
274
+ Style/CollectionMethods:
275
+ # Mapping from undesired method to desired_method
276
+ # e.g. to use `detect` over `find`:
277
+ #
278
+ # CollectionMethods:
279
+ # PreferredMethods:
280
+ # find: detect
281
+ PreferredMethods:
282
+ collect: 'map'
283
+ collect!: 'map!'
284
+ inject: 'reduce'
285
+ detect: 'find'
286
+ find_all: 'select'
287
+
288
+ # Use ` or %x around command literals.
289
+ Style/CommandLiteral:
290
+ EnforcedStyle: backticks
291
+ # backticks: Always use backticks.
292
+ # percent_x: Always use %x.
293
+ # mixed: Use backticks on single-line commands, and %x on multi-line commands.
294
+ SupportedStyles:
295
+ - backticks
296
+ - percent_x
297
+ - mixed
298
+ # If false, the cop will always recommend using %x if one or more backticks
299
+ # are found in the command string.
300
+ AllowInnerBackticks: false
301
+
302
+ # Checks formatting of special comments
303
+ Style/CommentAnnotation:
304
+ Keywords:
305
+ - TODO
306
+ - FIXME
307
+ - OPTIMIZE
308
+ - HACK
309
+ - REVIEW
310
+
311
+ # Checks that you have put a copyright in a comment before any code.
312
+ #
313
+ # You can override the default Notice in your .rubocop.yml file.
314
+ #
315
+ # In order to use autocorrect, you must supply a value for the
316
+ # AutocorrectNotice key that matches the regexp Notice. A blank
317
+ # AutocorrectNotice will cause an error during autocorrect.
318
+ #
319
+ # Autocorrect will add a copyright notice in a comment at the top
320
+ # of the file immediately after any shebang or encoding comments.
321
+ #
322
+ # Example rubocop.yml:
323
+ #
324
+ # Style/Copyright:
325
+ # Enabled: true
326
+ # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
327
+ # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
328
+ #
329
+ Style/Copyright:
330
+ Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
331
+ AutocorrectNotice: ''
332
+
333
+ # Multi-line method chaining should be done with leading dots.
334
+ Style/DotPosition:
335
+ EnforcedStyle: leading
336
+ SupportedStyles:
337
+ - leading
338
+ - trailing
339
+
340
+ # Warn on empty else statements
341
+ # empty - warn only on empty else
342
+ # nil - warn on else with nil in it
343
+ # both - warn on empty else and else with nil in it
344
+ Style/EmptyElse:
345
+ EnforcedStyle: both
346
+ SupportedStyles:
347
+ - empty
348
+ - nil
349
+ - both
350
+
351
+ # Use empty lines between defs.
352
+ Style/EmptyLineBetweenDefs:
353
+ # If true, this parameter means that single line method definitions don't
354
+ # need an empty line between them.
355
+ AllowAdjacentOneLineDefs: false
356
+
357
+ Style/EmptyLinesAroundBlockBody:
358
+ EnforcedStyle: no_empty_lines
359
+ SupportedStyles:
360
+ - empty_lines
361
+ - no_empty_lines
362
+
363
+ Style/EmptyLinesAroundClassBody:
364
+ EnforcedStyle: no_empty_lines
365
+ SupportedStyles:
366
+ - empty_lines
367
+ - no_empty_lines
368
+
369
+ Style/EmptyLinesAroundModuleBody:
370
+ EnforcedStyle: no_empty_lines
371
+ SupportedStyles:
372
+ - empty_lines
373
+ - no_empty_lines
374
+
375
+ # Checks whether the source file has a utf-8 encoding comment or not
376
+ # AutoCorrectEncodingComment must match the regex
377
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
378
+ Style/Encoding:
379
+ EnforcedStyle: always
380
+ SupportedStyles:
381
+ - when_needed
382
+ - always
383
+ AutoCorrectEncodingComment: '# encoding: utf-8'
384
+
385
+ Style/FileName:
386
+ # File names listed in AllCops:Include are excluded by default. Add extra
387
+ # excludes here.
388
+ Exclude: []
389
+
390
+ Style/FirstParameterIndentation:
391
+ EnforcedStyle: special_for_inner_method_call_in_parentheses
392
+ SupportedStyles:
393
+ # The first parameter should always be indented one step more than the
394
+ # preceding line.
395
+ - consistent
396
+ # The first parameter should normally be indented one step more than the
397
+ # preceding line, but if it's a parameter for a method call that is itself
398
+ # a parameter in a method call, then the inner parameter should be indented
399
+ # relative to the inner method.
400
+ - special_for_inner_method_call
401
+ # Same as special_for_inner_method_call except that the special rule only
402
+ # applies if the outer method call encloses its arguments in parentheses.
403
+ - special_for_inner_method_call_in_parentheses
404
+
405
+ # Checks use of for or each in multiline loops.
406
+ Style/For:
407
+ EnforcedStyle: each
408
+ SupportedStyles:
409
+ - for
410
+ - each
411
+
412
+ # Enforce the method used for string formatting.
413
+ Style/FormatString:
414
+ EnforcedStyle: format
415
+ SupportedStyles:
416
+ - format
417
+ - sprintf
418
+ - percent
419
+
420
+ # Built-in global variables are allowed by default.
421
+ Style/GlobalVars:
422
+ AllowedVariables: []
423
+
424
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
425
+ # needs to have to trigger this cop
426
+ Style/GuardClause:
427
+ MinBodyLength: 1
428
+
429
+ Style/HashSyntax:
430
+ EnforcedStyle: ruby19
431
+ SupportedStyles:
432
+ - ruby19
433
+ - ruby19_no_mixed_keys
434
+ - hash_rockets
435
+ # Force hashes that have a symbol value to use hash rockets
436
+ UseHashRocketsWithSymbolValues: false
437
+
438
+ Style/IfUnlessModifier:
439
+ MaxLineLength: 80
440
+
441
+ Style/IndentationConsistency:
442
+ # The difference between `rails` and `normal` is that the `rails` style
443
+ # prescribes that in classes and modules the `protected` and `private`
444
+ # modifier keywords shall be indented the same as public methods and that
445
+ # protected and private members shall be indented one step more than the
446
+ # modifiers. Other than that, both styles mean that entities on the same
447
+ # logical depth shall have the same indentation.
448
+ EnforcedStyle: normal
449
+ SupportedStyles:
450
+ - normal
451
+ - rails
452
+
453
+ Style/IndentationWidth:
454
+ # Number of spaces for each indentation level.
455
+ Width: 2
456
+
457
+ # Checks the indentation of the first key in a hash literal.
458
+ Style/IndentHash:
459
+ # The value `special_inside_parentheses` means that hash literals with braces
460
+ # that have their opening brace on the same line as a surrounding opening
461
+ # round parenthesis, shall have their first key indented relative to the
462
+ # first position inside the parenthesis.
463
+ # The value `consistent` means that the indentation of the first key shall
464
+ # always be relative to the first position of the line where the opening
465
+ # brace is.
466
+ EnforcedStyle: special_inside_parentheses
467
+ SupportedStyles:
468
+ - special_inside_parentheses
469
+ - consistent
470
+
471
+ Style/LambdaCall:
472
+ EnforcedStyle: call
473
+ SupportedStyles:
474
+ - call
475
+ - braces
476
+
477
+ Style/Next:
478
+ # With `always` all conditions at the end of an iteration needs to be
479
+ # replaced by next - with `skip_modifier_ifs` the modifier if like this one
480
+ # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
481
+ EnforcedStyle: skip_modifier_ifs
482
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
483
+ # needs to have to trigger this cop
484
+ MinBodyLength: 3
485
+ SupportedStyles:
486
+ - skip_modifier_ifs
487
+ - always
488
+
489
+ Style/NonNilCheck:
490
+ # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
491
+ # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
492
+ # **usually** OK, but might change behavior.
493
+ #
494
+ # With `IncludeSemanticChanges` set to `false`, this cop does not report
495
+ # offenses for `!x.nil?` and does no changes that might change behavior.
496
+ IncludeSemanticChanges: false
497
+
498
+ Style/MethodDefParentheses:
499
+ EnforcedStyle: require_parentheses
500
+ SupportedStyles:
501
+ - require_parentheses
502
+ - require_no_parentheses
503
+
504
+ Style/MethodName:
505
+ EnforcedStyle: snake_case
506
+ SupportedStyles:
507
+ - snake_case
508
+ - camelCase
509
+
510
+ Style/MultilineOperationIndentation:
511
+ EnforcedStyle: aligned
512
+ SupportedStyles:
513
+ - aligned
514
+ - indented
515
+
516
+ Style/NumericLiterals:
517
+ MinDigits: 5
518
+
519
+ # Allow safe assignment in conditions.
520
+ Style/ParenthesesAroundCondition:
521
+ AllowSafeAssignment: true
522
+
523
+ Style/PercentLiteralDelimiters:
524
+ PreferredDelimiters:
525
+ '%': ()
526
+ '%i': ()
527
+ '%q': ()
528
+ '%Q': ()
529
+ '%r': '{}'
530
+ '%s': ()
531
+ '%w': ()
532
+ '%W': ()
533
+ '%x': ()
534
+
535
+ Style/PercentQLiterals:
536
+ EnforcedStyle: lower_case_q
537
+ SupportedStyles:
538
+ - lower_case_q # Use %q when possible, %Q when necessary
539
+ - upper_case_q # Always use %Q
540
+
541
+ Style/PredicateName:
542
+ # Predicate name prefices.
543
+ NamePrefix:
544
+ - is_
545
+ - has_
546
+ - have_
547
+ # Predicate name prefices that should be removed.
548
+ NamePrefixBlacklist:
549
+ - is_
550
+ - has_
551
+ - have_
552
+
553
+ Style/RaiseArgs:
554
+ EnforcedStyle: exploded
555
+ SupportedStyles:
556
+ - compact # raise Exception.new(msg)
557
+ - exploded # raise Exception, msg
558
+
559
+ Style/RedundantReturn:
560
+ # When true allows code like `return x, y`.
561
+ AllowMultipleReturnValues: false
562
+
563
+ # Use / or %r around regular expressions.
564
+ Style/RegexpLiteral:
565
+ EnforcedStyle: slashes
566
+ # slashes: Always use slashes.
567
+ # percent_r: Always use %r.
568
+ # mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
569
+ SupportedStyles:
570
+ - slashes
571
+ - percent_r
572
+ - mixed
573
+ # If false, the cop will always recommend using %r if one or more slashes
574
+ # are found in the regexp string.
575
+ AllowInnerSlashes: false
576
+
577
+ Style/Semicolon:
578
+ # Allow ; to separate several expressions on the same line.
579
+ AllowAsExpressionSeparator: false
580
+
581
+ Style/SignalException:
582
+ EnforcedStyle: semantic
583
+ SupportedStyles:
584
+ - only_raise
585
+ - only_fail
586
+ - semantic
587
+
588
+ Style/SingleLineBlockParams:
589
+ Methods:
590
+ - reduce:
591
+ - a
592
+ - e
593
+ - inject:
594
+ - a
595
+ - e
596
+
597
+ Style/SingleLineMethods:
598
+ AllowIfMethodIsEmpty: true
599
+
600
+ Style/StringLiterals:
601
+ EnforcedStyle: single_quotes
602
+ SupportedStyles:
603
+ - single_quotes
604
+ - double_quotes
605
+
606
+ Style/StringLiteralsInInterpolation:
607
+ EnforcedStyle: double_quotes
608
+ SupportedStyles:
609
+ - single_quotes
610
+ - double_quotes
611
+
612
+ Style/SpaceAroundBlockParameters:
613
+ EnforcedStyleInsidePipes: no_space
614
+ SupportedStyles:
615
+ - space
616
+ - no_space
617
+
618
+ Style/SpaceAroundEqualsInParameterDefault:
619
+ EnforcedStyle: space
620
+ SupportedStyles:
621
+ - space
622
+ - no_space
623
+
624
+ Style/SpaceAroundOperators:
625
+ MultiSpaceAllowedForOperators:
626
+ - '='
627
+ - '=>'
628
+
629
+ Style/SpaceBeforeBlockBraces:
630
+ EnforcedStyle: space
631
+ SupportedStyles:
632
+ - space
633
+ - no_space
634
+
635
+ Style/SpaceInsideBlockBraces:
636
+ EnforcedStyle: space
637
+ SupportedStyles:
638
+ - space
639
+ - no_space
640
+ # Valid values are: space, no_space
641
+ EnforcedStyleForEmptyBraces: no_space
642
+ # Space between { and |. Overrides EnforcedStyle if there is a conflict.
643
+ SpaceBeforeBlockParameters: true
644
+
645
+ Style/SpaceInsideHashLiteralBraces:
646
+ EnforcedStyle: space
647
+ EnforcedStyleForEmptyBraces: no_space
648
+ SupportedStyles:
649
+ - space
650
+ - no_space
651
+
652
+ Style/SymbolProc:
653
+ # A list of method names to be ignored by the check.
654
+ # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
655
+ IgnoredMethods:
656
+ - respond_to
657
+
658
+ Style/TrailingBlankLines:
659
+ EnforcedStyle: final_newline
660
+ SupportedStyles:
661
+ - final_newline
662
+ - final_blank_line
663
+
664
+ Style/TrailingComma:
665
+ # If EnforcedStyleForMultiline is comma, the cop requires a comma after the
666
+ # last item of a list, but only for lists where each item is on its own line.
667
+ # If EnforcedStyleForMultiline is consistent_comma, the cop requires a comma
668
+ # after the last item of a list, for all lists.
669
+ EnforcedStyleForMultiline: no_comma
670
+ SupportedStyles:
671
+ - comma
672
+ - consistent_comma
673
+ - no_comma
674
+
675
+ # TrivialAccessors requires exact name matches and doesn't allow
676
+ # predicated methods by default.
677
+ Style/TrivialAccessors:
678
+ # When set to false the cop will suggest the use of accessor methods
679
+ # in situations like:
680
+ #
681
+ # def name
682
+ # @other_name
683
+ # end
684
+ #
685
+ # This way you can uncover "hidden" attributes in your code.
686
+ ExactNameMatch: true
687
+ AllowPredicates: false
688
+ # Allows trivial writers that don't end in an equal sign. e.g.
689
+ #
690
+ # def on_exception(action)
691
+ # @on_exception=action
692
+ # end
693
+ # on_exception :restart
694
+ #
695
+ # Commonly used in DSLs
696
+ AllowDSLWriters: false
697
+ IgnoreClassMethods: false
698
+ Whitelist:
699
+ - to_ary
700
+ - to_a
701
+ - to_c
702
+ - to_enum
703
+ - to_h
704
+ - to_hash
705
+ - to_i
706
+ - to_int
707
+ - to_io
708
+ - to_open
709
+ - to_path
710
+ - to_proc
711
+ - to_r
712
+ - to_regexp
713
+ - to_str
714
+ - to_s
715
+ - to_sym
716
+
717
+ Style/VariableName:
718
+ EnforcedStyle: snake_case
719
+ SupportedStyles:
720
+ - snake_case
721
+ - camelCase
722
+
723
+ Style/WhileUntilModifier:
724
+ MaxLineLength: 80
725
+
726
+ Style/WordArray:
727
+ MinSize: 0
728
+ # The regular expression WordRegex decides what is considered a word.
729
+ WordRegex: !ruby/regexp '/\A[\p{Word}]+\z/'
730
+
731
+ ##################### Metrics ##################################
732
+
733
+ Metrics/AbcSize:
734
+ # The ABC size is a calculated magnitude, so this number can be a Fixnum or
735
+ # a Float.
736
+ Max: 15
737
+
738
+ Metrics/BlockNesting:
739
+ Max: 3
740
+
741
+ Metrics/ClassLength:
742
+ CountComments: false # count full line comments?
743
+ Max: 100
744
+
745
+ Metrics/ModuleLength:
746
+ CountComments: false # count full line comments?
747
+ Max: 100
748
+
749
+ # Avoid complex methods.
750
+ Metrics/CyclomaticComplexity:
751
+ Max: 6
752
+
753
+ Metrics/LineLength:
754
+ Max: 1024
755
+ # To make it possible to copy or click on URIs in the code, we allow lines
756
+ # contaning a URI to be longer than Max.
757
+ AllowURI: true
758
+ URISchemes:
759
+ - http
760
+ - https
761
+
762
+ Metrics/MethodLength:
763
+ CountComments: false # count full line comments?
764
+ Max: 100
765
+
766
+ Metrics/ParameterLists:
767
+ Max: 5
768
+ CountKeywordArgs: true
769
+
770
+ Metrics/PerceivedComplexity:
771
+ Max: 7
772
+
773
+ ##################### Lint ##################################
774
+
775
+ # Allow safe assignment in conditions.
776
+ Lint/AssignmentInCondition:
777
+ AllowSafeAssignment: true
778
+
779
+ # Align ends correctly.
780
+ Lint/EndAlignment:
781
+ # The value `keyword` means that `end` should be aligned with the matching
782
+ # keyword (if, while, etc.).
783
+ # The value `variable` means that in assignments, `end` should be aligned
784
+ # with the start of the variable on the left hand side of `=`. In all other
785
+ # situations, `end` should still be aligned with the keyword.
786
+ AlignWith: keyword
787
+ SupportedStyles:
788
+ - keyword
789
+ - variable
790
+ AutoCorrect: false
791
+
792
+ Lint/DefEndAlignment:
793
+ # The value `def` means that `end` should be aligned with the def keyword.
794
+ # The value `start_of_line` means that `end` should be aligned with method
795
+ # calls like `private`, `public`, etc, if present in front of the `def`
796
+ # keyword on the same line.
797
+ AlignWith: start_of_line
798
+ SupportedStyles:
799
+ - start_of_line
800
+ - def
801
+ AutoCorrect: false
802
+
803
+ ##################### Rails ##################################
804
+
805
+ Rails/ActionFilter:
806
+ EnforcedStyle: action
807
+ SupportedStyles:
808
+ - action
809
+ - filter
810
+ Include:
811
+ - app/controllers/**/*.rb
812
+
813
+ Rails/Date:
814
+ # The value `always` disallows usage of `Date.today`, `Date.current`,
815
+ # `Date#to_time` etc.
816
+ # The value `acceptable` allows usage of `Date.current`, `Date.yesterday`, etc
817
+ # (but not `Date.today`) which are overriden by ActiveSupport to handle current
818
+ # time zone.
819
+ EnforcedStyle: always
820
+ SupportedStyles:
821
+ - always
822
+ - acceptable
823
+
824
+ Rails/DefaultScope:
825
+ Include:
826
+ - app/models/**/*.rb
827
+
828
+ Rails/FindBy:
829
+ Include:
830
+ - app/models/**/*.rb
831
+
832
+ Rails/FindEach:
833
+ Include:
834
+ - app/models/**/*.rb
835
+
836
+ Rails/HasAndBelongsToMany:
837
+ Include:
838
+ - app/models/**/*.rb
839
+
840
+ Rails/Output:
841
+ Include:
842
+ - app/**/*.rb
843
+ - config/**/*.rb
844
+ - db/**/*.rb
845
+ - lib/**/*.rb
846
+
847
+ Rails/ReadWriteAttribute:
848
+ Include:
849
+ - app/models/**/*.rb
850
+
851
+ Rails/ScopeArgs:
852
+ Include:
853
+ - app/models/**/*.rb
854
+
855
+ Rails/TimeZone:
856
+ # The value `always` means that `Time` should be used with `zone`.
857
+ # The value `acceptable` allows usage of `in_time_zone` instead of `zone`.
858
+ EnforcedStyle: always
859
+ SupportedStyles:
860
+ - always
861
+ - acceptable
862
+
863
+ Rails/Validation:
864
+ Include:
865
+ - app/models/**/*.rb