monkey_master 1.0.0 → 1.1.0

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