github-rake-release 0.1.1.pre.alpha

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 72dd77bd6b5c9f982af5afdda1dd5325aa0af94d
4
+ data.tar.gz: fb2c8ab69aec229b5fcd1375bd2b0bedb848944a
5
+ SHA512:
6
+ metadata.gz: 426a798639c34e00d7c0fe0d394ec7d0dbd1ff223f87df1e03a815366f1f4822d8830675d9d8018698c56902af75a6d7766d03f547a0fa3d36041dd6c5d101f4
7
+ data.tar.gz: 4401906d40ff7b28539e90b4a004bd9d3e05004bf791802b047fa6ea07a085c55a3a3dcbb7978342ded4568b21328ce235b2d927935ebb675fd452bd1d6902e6
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
13
+
14
+ # generated gem files
15
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,1303 @@
1
+ # Common configuration.
2
+ AllCops:
3
+ # Include common Ruby source files.
4
+ Include:
5
+ - '**/*.gemspec'
6
+ - '**/*.podspec'
7
+ - '**/*.jbuilder'
8
+ - '**/*.rake'
9
+ - '**/*.opal'
10
+ - '**/config.ru'
11
+ - '**/Gemfile'
12
+ - '**/Rakefile'
13
+ - '**/Capfile'
14
+ - '**/Guardfile'
15
+ - '**/Podfile'
16
+ - '**/Thorfile'
17
+ - '**/Vagrantfile'
18
+ - '**/Berksfile'
19
+ - '**/Cheffile'
20
+ - '**/Vagabondfile'
21
+ - '**/Fastfile'
22
+ - '**/*Fastfile'
23
+ Exclude:
24
+ - 'vendor/**/*'
25
+ - 'config/**/*'
26
+ - 'script/**/*'
27
+ - 'db/**/*'
28
+ - 'Guardfile'
29
+ - 'bin/*'
30
+ # Default formatter will be used if no -f/--format option is given.
31
+ DefaultFormatter: progress
32
+ # Cop names are not displayed in offense messages by default. Change behavior
33
+ # by overriding DisplayCopNames, or by giving the -D/--display-cop-names
34
+ # option.
35
+ DisplayCopNames: false
36
+ # Style guide URLs are not displayed in offense messages by default. Change
37
+ # behavior by overriding DisplayStyleGuide, or by giving the
38
+ # -S/--display-style-guide option.
39
+ DisplayStyleGuide: false
40
+ # Extra details are not displayed in offense messages by default. Change
41
+ # behavior by overriding ExtraDetails, or by giving the
42
+ # -E/--extra-details option.
43
+ ExtraDetails: false
44
+ # Additional cops that do not reference a style guide rule may be enabled by
45
+ # default. Change behavior by overriding StyleGuideCopsOnly, or by giving
46
+ # the --only-guide-cops option.
47
+ StyleGuideCopsOnly: false
48
+ # All cops except the ones in disabled.yml are enabled by default. Change
49
+ # this behavior by overriding DisabledByDefault. When DisabledByDefault is
50
+ # true, all cops in the default configuration are disabled, and and only cops
51
+ # in user configuration are enabled. This makes cops opt-in instead of
52
+ # opt-out. Note that when DisabledByDefault is true, cops in user
53
+ # configuration will be enabled even if they don't set the Enabled parameter.
54
+ DisabledByDefault: false
55
+ # Enables the result cache if true. Can be overridden by the --cache command
56
+ # line option.
57
+ UseCache: true
58
+ # Threshold for how many files can be stored in the result cache before some
59
+ # of the files are automatically removed.
60
+ MaxFilesInCache: 20000
61
+ # The cache will be stored in "rubocop_cache" under this directory. The name
62
+ # "/tmp" is special and will be converted to the system temporary directory,
63
+ # which is "/tmp" on Unix-like systems, but could be something else on other
64
+ # systems.
65
+ CacheRootDirectory: /tmp
66
+ # The default cache root directory is /tmp, which on most systems is
67
+ # writable by any system user. This means that it is possible for a
68
+ # malicious user to anticipate the location of Rubocop's cache directory,
69
+ # and create a symlink in its place that could cause Rubocop to overwrite
70
+ # unintended files, or read malicious input. If you are certain that your
71
+ # cache location is secure from this kind of attack, and wish to use a
72
+ # symlinked cache location, set this value to "true".
73
+ AllowSymlinksInCacheRootDirectory: false
74
+ # What MRI version of the Ruby interpreter is the inspected code intended to
75
+ # run on? (If there is more than one, set this to the lowest version.)
76
+ # If a value is specified for TargetRubyVersion then it is used.
77
+ # Else if .ruby-version exists and it contains an MRI version it is used.
78
+ # Otherwise we fallback to the oldest officially supported Ruby version (2.0).
79
+ TargetRubyVersion: 2.4
80
+
81
+ # Indent private/protected/public as deep as method definitions
82
+ Style/AccessModifierIndentation:
83
+ EnforcedStyle: indent
84
+ SupportedStyles:
85
+ - outdent
86
+ - indent
87
+ # By default, the indentation width from Style/IndentationWidth is used
88
+ # But it can be overridden by setting this parameter
89
+ IndentationWidth: ~
90
+
91
+ Style/Alias:
92
+ EnforcedStyle: prefer_alias_method
93
+ SupportedStyles:
94
+ - prefer_alias
95
+ - prefer_alias_method
96
+
97
+ # Align the elements of a hash literal if they span more than one line.
98
+ Style/AlignHash:
99
+ # Alignment of entries using hash rocket as separator. Valid values are:
100
+ #
101
+ # key - left alignment of keys
102
+ # 'a' => 2
103
+ # 'bb' => 3
104
+ # separator - alignment of hash rockets, keys are right aligned
105
+ # 'a' => 2
106
+ # 'bb' => 3
107
+ # table - left alignment of keys, hash rockets, and values
108
+ # 'a' => 2
109
+ # 'bb' => 3
110
+ EnforcedHashRocketStyle: key
111
+ # Alignment of entries using colon as separator. Valid values are:
112
+ #
113
+ # key - left alignment of keys
114
+ # a: 0
115
+ # bb: 1
116
+ # separator - alignment of colons, keys are right aligned
117
+ # a: 0
118
+ # bb: 1
119
+ # table - left alignment of keys and values
120
+ # a: 0
121
+ # bb: 1
122
+ EnforcedColonStyle: key
123
+ # Select whether hashes that are the last argument in a method call should be
124
+ # inspected? Valid values are:
125
+ #
126
+ # always_inspect - Inspect both implicit and explicit hashes.
127
+ # Registers an offense for:
128
+ # function(a: 1,
129
+ # b: 2)
130
+ # Registers an offense for:
131
+ # function({a: 1,
132
+ # b: 2})
133
+ # always_ignore - Ignore both implicit and explicit hashes.
134
+ # Accepts:
135
+ # function(a: 1,
136
+ # b: 2)
137
+ # Accepts:
138
+ # function({a: 1,
139
+ # b: 2})
140
+ # ignore_implicit - Ignore only implicit hashes.
141
+ # Accepts:
142
+ # function(a: 1,
143
+ # b: 2)
144
+ # Registers an offense for:
145
+ # function({a: 1,
146
+ # b: 2})
147
+ # ignore_explicit - Ignore only explicit hashes.
148
+ # Accepts:
149
+ # function({a: 1,
150
+ # b: 2})
151
+ # Registers an offense for:
152
+ # function(a: 1,
153
+ # b: 2)
154
+ EnforcedLastArgumentHashStyle: always_inspect
155
+ SupportedLastArgumentHashStyles:
156
+ - always_inspect
157
+ - always_ignore
158
+ - ignore_implicit
159
+ - ignore_explicit
160
+
161
+ Style/AlignParameters:
162
+ # Alignment of parameters in multi-line method calls.
163
+ #
164
+ # The `with_first_parameter` style aligns the following lines along the same
165
+ # column as the first parameter.
166
+ #
167
+ # method_call(a,
168
+ # b)
169
+ #
170
+ # The `with_fixed_indentation` style aligns the following lines with one
171
+ # level of indentation relative to the start of the line with the method call.
172
+ #
173
+ # method_call(a,
174
+ # b)
175
+ EnforcedStyle: with_first_parameter
176
+ SupportedStyles:
177
+ - with_first_parameter
178
+ - with_fixed_indentation
179
+ # By default, the indentation width from Style/IndentationWidth is used
180
+ # But it can be overridden by setting this parameter
181
+ IndentationWidth: ~
182
+
183
+ Style/AndOr:
184
+ # Whether `and` and `or` are banned only in conditionals (conditionals)
185
+ # or completely (always).
186
+ EnforcedStyle: always
187
+ SupportedStyles:
188
+ - always
189
+ - conditionals
190
+
191
+
192
+ # Checks if usage of %() or %Q() matches configuration.
193
+ Style/BarePercentLiterals:
194
+ EnforcedStyle: bare_percent
195
+ SupportedStyles:
196
+ - percent_q
197
+ - bare_percent
198
+
199
+ Style/BlockDelimiters:
200
+ EnforcedStyle: line_count_based
201
+ SupportedStyles:
202
+ # The `line_count_based` style enforces braces around single line blocks and
203
+ # do..end around multi-line blocks.
204
+ - line_count_based
205
+ # The `semantic` style enforces braces around functional blocks, where the
206
+ # primary purpose of the block is to return a value and do..end for
207
+ # procedural blocks, where the primary purpose of the block is its
208
+ # side-effects.
209
+ #
210
+ # This looks at the usage of a block's method to determine its type (e.g. is
211
+ # the result of a `map` assigned to a variable or passed to another
212
+ # method) but exceptions are permitted in the `ProceduralMethods`,
213
+ # `FunctionalMethods` and `IgnoredMethods` sections below.
214
+ - semantic
215
+ # The `braces_for_chaining` style enforces braces around single line blocks
216
+ # and do..end around multi-line blocks, except for multi-line blocks whose
217
+ # return value is being chained with another method (in which case braces
218
+ # are enforced).
219
+ - braces_for_chaining
220
+ ProceduralMethods:
221
+ # Methods that are known to be procedural in nature but look functional from
222
+ # their usage, e.g.
223
+ #
224
+ # time = Benchmark.realtime do
225
+ # foo.bar
226
+ # end
227
+ #
228
+ # Here, the return value of the block is discarded but the return value of
229
+ # `Benchmark.realtime` is used.
230
+ - benchmark
231
+ - bm
232
+ - bmbm
233
+ - create
234
+ - each_with_object
235
+ - measure
236
+ - new
237
+ - realtime
238
+ - tap
239
+ - with_object
240
+ FunctionalMethods:
241
+ # Methods that are known to be functional in nature but look procedural from
242
+ # their usage, e.g.
243
+ #
244
+ # let(:foo) { Foo.new }
245
+ #
246
+ # Here, the return value of `Foo.new` is used to define a `foo` helper but
247
+ # doesn't appear to be used from the return value of `let`.
248
+ - let
249
+ - let!
250
+ - subject
251
+ - watch
252
+ IgnoredMethods:
253
+ # Methods that can be either procedural or functional and cannot be
254
+ # categorised from their usage alone, e.g.
255
+ #
256
+ # foo = lambda do |x|
257
+ # puts "Hello, #{x}"
258
+ # end
259
+ #
260
+ # foo = lambda do |x|
261
+ # x * 100
262
+ # end
263
+ #
264
+ # Here, it is impossible to tell from the return value of `lambda` whether
265
+ # the inner block's return value is significant.
266
+ - lambda
267
+ - proc
268
+ - it
269
+
270
+ Style/BracesAroundHashParameters:
271
+ EnforcedStyle: no_braces
272
+ SupportedStyles:
273
+ # The `braces` style enforces braces around all method parameters that are
274
+ # hashes.
275
+ - braces
276
+ # The `no_braces` style checks that the last parameter doesn't have braces
277
+ # around it.
278
+ - no_braces
279
+ # The `context_dependent` style checks that the last parameter doesn't have
280
+ # braces around it, but requires braces if the second to last parameter is
281
+ # also a hash literal.
282
+ - context_dependent
283
+
284
+ # Indentation of `when`.
285
+ Style/CaseIndentation:
286
+ EnforcedStyle: case
287
+ SupportedStyles:
288
+ - case
289
+ - end
290
+ IndentOneStep: false
291
+ # By default, the indentation width from `Style/IndentationWidth` is used.
292
+ # But it can be overridden by setting this parameter.
293
+ # This only matters if `IndentOneStep` is `true`
294
+ IndentationWidth: ~
295
+
296
+ Style/ClassAndModuleChildren:
297
+ # Checks the style of children definitions at classes and modules.
298
+ #
299
+ # Basically there are two different styles:
300
+ #
301
+ # `nested` - have each child on a separate line
302
+ # class Foo
303
+ # class Bar
304
+ # end
305
+ # end
306
+ #
307
+ # `compact` - combine definitions as much as possible
308
+ # class Foo::Bar
309
+ # end
310
+ #
311
+ # The compact style is only forced, for classes / modules with one child.
312
+ EnforcedStyle: nested
313
+ SupportedStyles:
314
+ - nested
315
+ - compact
316
+
317
+ Style/ClassCheck:
318
+ EnforcedStyle: is_a?
319
+ SupportedStyles:
320
+ - is_a?
321
+ - kind_of?
322
+
323
+ # Align with the style guide.
324
+ Style/CollectionMethods:
325
+ # Mapping from undesired method to desired_method
326
+ # e.g. to use `detect` over `find`:
327
+ #
328
+ # CollectionMethods:
329
+ # PreferredMethods:
330
+ # find: detect
331
+ PreferredMethods:
332
+ collect: 'map'
333
+ collect!: 'map!'
334
+ inject: 'reduce'
335
+ detect: 'find'
336
+ find_all: 'select'
337
+
338
+ # Use ` or %x around command literals.
339
+ Style/CommandLiteral:
340
+ EnforcedStyle: backticks
341
+ # backticks: Always use backticks.
342
+ # percent_x: Always use %x.
343
+ # mixed: Use backticks on single-line commands, and %x on multi-line commands.
344
+ SupportedStyles:
345
+ - backticks
346
+ - percent_x
347
+ - mixed
348
+ # If false, the cop will always recommend using %x if one or more backticks
349
+ # are found in the command string.
350
+ AllowInnerBackticks: false
351
+
352
+ # Checks formatting of special comments
353
+ Style/CommentAnnotation:
354
+ Keywords:
355
+ - TODO
356
+ - FIXME
357
+ - OPTIMIZE
358
+ - HACK
359
+ - REVIEW
360
+
361
+ Style/ConditionalAssignment:
362
+ EnforcedStyle: assign_to_condition
363
+ SupportedStyles:
364
+ - assign_to_condition
365
+ - assign_inside_condition
366
+ # When configured to `assign_to_condition`, `SingleLineConditionsOnly`
367
+ # will only register an offense when all branches of a condition are
368
+ # a single line.
369
+ # When configured to `assign_inside_condition`, `SingleLineConditionsOnly`
370
+ # will only register an offense for assignment to a condition that has
371
+ # at least one multiline branch.
372
+ SingleLineConditionsOnly: true
373
+
374
+ # Checks that you have put a copyright in a comment before any code.
375
+ #
376
+ # You can override the default Notice in your .rubocop.yml file.
377
+ #
378
+ # In order to use autocorrect, you must supply a value for the
379
+ # AutocorrectNotice key that matches the regexp Notice. A blank
380
+ # AutocorrectNotice will cause an error during autocorrect.
381
+ #
382
+ # Autocorrect will add a copyright notice in a comment at the top
383
+ # of the file immediately after any shebang or encoding comments.
384
+ #
385
+ # Example rubocop.yml:
386
+ #
387
+ # Style/Copyright:
388
+ # Enabled: true
389
+ # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
390
+ # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
391
+ #
392
+ Style/Copyright:
393
+ Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
394
+ AutocorrectNotice: ''
395
+
396
+ Style/DocumentationMethod:
397
+ RequireForNonPublicMethods: false
398
+
399
+ # Multi-line method chaining should be done with leading dots.
400
+ Style/DotPosition:
401
+ EnforcedStyle: trailing
402
+ SupportedStyles:
403
+ - leading
404
+ - trailing
405
+
406
+ # Warn on empty else statements
407
+ # empty - warn only on empty else
408
+ # nil - warn on else with nil in it
409
+ # both - warn on empty else and else with nil in it
410
+ Style/EmptyElse:
411
+ EnforcedStyle: both
412
+ SupportedStyles:
413
+ - empty
414
+ - nil
415
+ - both
416
+
417
+ # Use empty lines between defs.
418
+ Style/EmptyLineBetweenDefs:
419
+ # If true, this parameter means that single line method definitions don't
420
+ # need an empty line between them.
421
+ AllowAdjacentOneLineDefs: false
422
+
423
+ Style/EmptyLinesAroundBlockBody:
424
+ EnforcedStyle: no_empty_lines
425
+ SupportedStyles:
426
+ - empty_lines
427
+ - no_empty_lines
428
+
429
+ Style/EmptyLinesAroundClassBody:
430
+ EnforcedStyle: no_empty_lines
431
+ SupportedStyles:
432
+ - empty_lines
433
+ - no_empty_lines
434
+
435
+ Style/EmptyLinesAroundModuleBody:
436
+ EnforcedStyle: no_empty_lines
437
+ SupportedStyles:
438
+ - empty_lines
439
+ - no_empty_lines
440
+
441
+ # Checks whether the source file has a utf-8 encoding comment or not
442
+ # AutoCorrectEncodingComment must match the regex
443
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
444
+ Style/Encoding:
445
+ EnforcedStyle: never
446
+ SupportedStyles:
447
+ - when_needed
448
+ - always
449
+ - never
450
+ AutoCorrectEncodingComment: '# encoding: utf-8'
451
+
452
+ Style/ExtraSpacing:
453
+ # When true, allows most uses of extra spacing if the intent is to align
454
+ # things with the previous or next line, not counting empty lines or comment
455
+ # lines.
456
+ AllowForAlignment: true
457
+ # When true, forces the alignment of = in assignments on consecutive lines.
458
+ ForceEqualSignAlignment: false
459
+
460
+ Style/FileName:
461
+ # File names listed in AllCops:Include are excluded by default. Add extra
462
+ # excludes here.
463
+ Exclude: []
464
+ # When true, requires that each source file should define a class or module
465
+ # with a name which matches the file name (converted to ... case).
466
+ # It further expects it to be nested inside modules which match the names
467
+ # of subdirectories in its path.
468
+ ExpectMatchingDefinition: false
469
+ # If non-nil, expect all source file names to match the following regex.
470
+ # Only the file name itself is matched, not the entire file path.
471
+ # Use anchors as necessary if you want to match the entire name rather than
472
+ # just a part of it.
473
+ Regex: ~
474
+ # With `IgnoreExecutableScripts` set to `true`, this cop does not
475
+ # report offending filenames for executable scripts (i.e. source
476
+ # files with a shebang in the first line).
477
+ IgnoreExecutableScripts: true
478
+
479
+ Style/FirstParameterIndentation:
480
+ EnforcedStyle: special_for_inner_method_call_in_parentheses
481
+ SupportedStyles:
482
+ # The first parameter should always be indented one step more than the
483
+ # preceding line.
484
+ - consistent
485
+ # The first parameter should normally be indented one step more than the
486
+ # preceding line, but if it's a parameter for a method call that is itself
487
+ # a parameter in a method call, then the inner parameter should be indented
488
+ # relative to the inner method.
489
+ - special_for_inner_method_call
490
+ # Same as special_for_inner_method_call except that the special rule only
491
+ # applies if the outer method call encloses its arguments in parentheses.
492
+ - special_for_inner_method_call_in_parentheses
493
+ # By default, the indentation width from Style/IndentationWidth is used
494
+ # But it can be overridden by setting this parameter
495
+ IndentationWidth: ~
496
+
497
+ # Checks use of for or each in multiline loops.
498
+ Style/For:
499
+ EnforcedStyle: each
500
+ SupportedStyles:
501
+ - for
502
+ - each
503
+
504
+ # Enforce the method used for string formatting.
505
+ Style/FormatString:
506
+ EnforcedStyle: format
507
+ SupportedStyles:
508
+ - format
509
+ - sprintf
510
+ - percent
511
+
512
+ Style/FrozenStringLiteralComment:
513
+ EnforcedStyle: when_needed
514
+ SupportedStyles:
515
+ # `when_needed` will add the frozen string literal comment to files
516
+ # only when the `TargetRubyVersion` is set to 2.3+.
517
+ - when_needed
518
+ # `always` will always add the frozen string literal comment to a file
519
+ # regardless of the Ruby version or if `freeze` or `<<` are called on a
520
+ # string literal. If you run code against multiple versions of Ruby, it is
521
+ # possible that this will create errors in Ruby 2.3.0+.
522
+ - always
523
+
524
+ # Built-in global variables are allowed by default.
525
+ Style/GlobalVars:
526
+ AllowedVariables: []
527
+
528
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
529
+ # needs to have to trigger this cop
530
+ Style/GuardClause:
531
+ MinBodyLength: 1
532
+
533
+ Style/HashSyntax:
534
+ EnforcedStyle: ruby19
535
+ SupportedStyles:
536
+ # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys
537
+ - ruby19
538
+ # checks for hash rocket syntax for all hashes
539
+ - hash_rockets
540
+ # forbids mixed key syntaxes (e.g. {a: 1, :b => 2})
541
+ - no_mixed_keys
542
+ # enforces both ruby19 and no_mixed_keys styles
543
+ - ruby19_no_mixed_keys
544
+ # Force hashes that have a symbol value to use hash rockets
545
+ UseHashRocketsWithSymbolValues: false
546
+ # Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
547
+ PreferHashRocketsForNonAlnumEndingSymbols: false
548
+
549
+ Style/IfUnlessModifier:
550
+ MaxLineLength: 80
551
+
552
+ Style/IndentationConsistency:
553
+ # The difference between `rails` and `normal` is that the `rails` style
554
+ # prescribes that in classes and modules the `protected` and `private`
555
+ # modifier keywords shall be indented the same as public methods and that
556
+ # protected and private members shall be indented one step more than the
557
+ # modifiers. Other than that, both styles mean that entities on the same
558
+ # logical depth shall have the same indentation.
559
+ EnforcedStyle: normal
560
+ SupportedStyles:
561
+ - normal
562
+ - rails
563
+
564
+ Style/IndentationWidth:
565
+ # Number of spaces for each indentation level.
566
+ Width: 2
567
+
568
+ # Checks the indentation of the first element in an array literal.
569
+ Style/IndentArray:
570
+ # The value `special_inside_parentheses` means that array literals with
571
+ # brackets that have their opening bracket on the same line as a surrounding
572
+ # opening round parenthesis, shall have their first element indented relative
573
+ # to the first position inside the parenthesis.
574
+ #
575
+ # The value `consistent` means that the indentation of the first element shall
576
+ # always be relative to the first position of the line where the opening
577
+ # bracket is.
578
+ #
579
+ # The value `align_brackets` means that the indentation of the first element
580
+ # shall always be relative to the position of the opening bracket.
581
+ EnforcedStyle: special_inside_parentheses
582
+ SupportedStyles:
583
+ - special_inside_parentheses
584
+ - consistent
585
+ - align_brackets
586
+ # By default, the indentation width from Style/IndentationWidth is used
587
+ # But it can be overridden by setting this parameter
588
+ IndentationWidth: ~
589
+
590
+ # Checks the indentation of assignment RHS, when on a different line from LHS
591
+ Style/IndentAssignment:
592
+ # By default, the indentation width from Style/IndentationWidth is used
593
+ # But it can be overridden by setting this parameter
594
+ IndentationWidth: ~
595
+
596
+ # Checks the indentation of the first key in a hash literal.
597
+ Style/IndentHash:
598
+ # The value `special_inside_parentheses` means that hash literals with braces
599
+ # that have their opening brace on the same line as a surrounding opening
600
+ # round parenthesis, shall have their first key indented relative to the
601
+ # first position inside the parenthesis.
602
+ #
603
+ # The value `consistent` means that the indentation of the first key shall
604
+ # always be relative to the first position of the line where the opening
605
+ # brace is.
606
+ #
607
+ # The value `align_braces` means that the indentation of the first key shall
608
+ # always be relative to the position of the opening brace.
609
+ EnforcedStyle: special_inside_parentheses
610
+ SupportedStyles:
611
+ - special_inside_parentheses
612
+ - consistent
613
+ - align_braces
614
+ # By default, the indentation width from Style/IndentationWidth is used
615
+ # But it can be overridden by setting this parameter
616
+ IndentationWidth: ~
617
+
618
+ Style/Lambda:
619
+ EnforcedStyle: literal
620
+ SupportedStyles:
621
+ - line_count_dependent
622
+ - lambda
623
+ - literal
624
+
625
+ Style/LambdaCall:
626
+ EnforcedStyle: call
627
+ SupportedStyles:
628
+ - call
629
+ - braces
630
+
631
+ Style/Next:
632
+ # With `always` all conditions at the end of an iteration needs to be
633
+ # replaced by next - with `skip_modifier_ifs` the modifier if like this one
634
+ # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
635
+ EnforcedStyle: skip_modifier_ifs
636
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
637
+ # needs to have to trigger this cop
638
+ MinBodyLength: 3
639
+ SupportedStyles:
640
+ - skip_modifier_ifs
641
+ - always
642
+
643
+ Style/NonNilCheck:
644
+ # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
645
+ # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
646
+ # **usually** OK, but might change behavior.
647
+ #
648
+ # With `IncludeSemanticChanges` set to `false`, this cop does not report
649
+ # offenses for `!x.nil?` and does no changes that might change behavior.
650
+ IncludeSemanticChanges: false
651
+
652
+ Style/NumericPredicate:
653
+ EnforcedStyle: predicate
654
+ SupportedStyles:
655
+ - predicate
656
+ - comparison
657
+ # Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
658
+ # false positives.
659
+ Exclude:
660
+ - 'spec/**/*'
661
+
662
+ Style/MethodDefParentheses:
663
+ EnforcedStyle: require_parentheses
664
+ SupportedStyles:
665
+ - require_parentheses
666
+ - require_no_parentheses
667
+ - require_no_parentheses_except_multiline
668
+
669
+ Style/MethodName:
670
+ EnforcedStyle: snake_case
671
+ SupportedStyles:
672
+ - snake_case
673
+ - camelCase
674
+
675
+ Style/ModuleFunction:
676
+ EnforcedStyle: module_function
677
+ SupportedStyles:
678
+ - module_function
679
+ - extend_self
680
+
681
+ Style/MultilineArrayBraceLayout:
682
+ EnforcedStyle: symmetrical
683
+ SupportedStyles:
684
+ # symmetrical: closing brace is positioned in same way as opening brace
685
+ # new_line: closing brace is always on a new line
686
+ # same_line: closing brace is always on the same line as last element
687
+ - symmetrical
688
+ - new_line
689
+ - same_line
690
+
691
+ Style/MultilineAssignmentLayout:
692
+ # The types of assignments which are subject to this rule.
693
+ SupportedTypes:
694
+ - block
695
+ - case
696
+ - class
697
+ - if
698
+ - kwbegin
699
+ - module
700
+ EnforcedStyle: new_line
701
+ SupportedStyles:
702
+ # Ensures that the assignment operator and the rhs are on the same line for
703
+ # the set of supported types.
704
+ - same_line
705
+ # Ensures that the assignment operator and the rhs are on separate lines
706
+ # for the set of supported types.
707
+ - new_line
708
+
709
+ Style/MultilineHashBraceLayout:
710
+ EnforcedStyle: symmetrical
711
+ SupportedStyles:
712
+ # symmetrical: closing brace is positioned in same way as opening brace
713
+ # new_line: closing brace is always on a new line
714
+ # same_line: closing brace is always on same line as last element
715
+ - symmetrical
716
+ - new_line
717
+ - same_line
718
+
719
+ Style/MultilineIfModifier:
720
+ # Only use if/unless modifiers on single line statements.
721
+ Enabled: false
722
+
723
+ Style/MultilineMethodCallBraceLayout:
724
+ EnforcedStyle: symmetrical
725
+ SupportedStyles:
726
+ # symmetrical: closing brace is positioned in same way as opening brace
727
+ # new_line: closing brace is always on a new line
728
+ # same_line: closing brace is always on the same line as last argument
729
+ - symmetrical
730
+ - new_line
731
+ - same_line
732
+
733
+ Style/MultilineMethodCallIndentation:
734
+ EnforcedStyle: aligned
735
+ SupportedStyles:
736
+ - aligned
737
+ - indented
738
+ - indented_relative_to_receiver
739
+ # By default, the indentation width from Style/IndentationWidth is used
740
+ # But it can be overridden by setting this parameter
741
+ IndentationWidth: ~
742
+
743
+ Style/MultilineMethodDefinitionBraceLayout:
744
+ EnforcedStyle: symmetrical
745
+ SupportedStyles:
746
+ # symmetrical: closing brace is positioned in same way as opening brace
747
+ # new_line: closing brace is always on a new line
748
+ # same_line: closing brace is always on the same line as last parameter
749
+ - symmetrical
750
+ - new_line
751
+ - same_line
752
+
753
+ Style/MultilineOperationIndentation:
754
+ EnforcedStyle: aligned
755
+ SupportedStyles:
756
+ - aligned
757
+ - indented
758
+ # By default, the indentation width from Style/IndentationWidth is used
759
+ # But it can be overridden by setting this parameter
760
+ IndentationWidth: ~
761
+
762
+ Style/NumericLiterals:
763
+ MinDigits: 5
764
+
765
+ Style/NumericLiteralPrefix:
766
+ EnforcedOctalStyle: zero_with_o
767
+ SupportedOctalStyles:
768
+ - zero_with_o
769
+ - zero_only
770
+
771
+ Style/OptionHash:
772
+ # A list of parameter names that will be flagged by this cop.
773
+ SuspiciousParamNames:
774
+ - options
775
+ - opts
776
+ - args
777
+ - params
778
+ - parameters
779
+
780
+ # Allow safe assignment in conditions.
781
+ Style/ParenthesesAroundCondition:
782
+ AllowSafeAssignment: true
783
+
784
+ Style/PercentLiteralDelimiters:
785
+ PreferredDelimiters:
786
+ '%': ()
787
+ '%i': ()
788
+ '%q': ()
789
+ '%Q': ()
790
+ '%r': '{}'
791
+ '%s': ()
792
+ '%w': ()
793
+ '%W': ()
794
+ '%x': ()
795
+
796
+ Style/PercentQLiterals:
797
+ EnforcedStyle: lower_case_q
798
+ SupportedStyles:
799
+ - lower_case_q # Use %q when possible, %Q when necessary
800
+ - upper_case_q # Always use %Q
801
+
802
+ Style/PredicateName:
803
+ # Predicate name prefixes.
804
+ NamePrefix:
805
+ - is_
806
+ - has_
807
+ - have_
808
+ # Predicate name prefixes that should be removed.
809
+ NamePrefixBlacklist:
810
+ - is_
811
+ - has_
812
+ - have_
813
+ # Predicate names which, despite having a blacklisted prefix, or no ?,
814
+ # should still be accepted
815
+ NameWhitelist:
816
+ - is_a?
817
+ # Exclude Rspec specs because there is a strong convetion to write spec
818
+ # helpers in the form of `have_something` or `be_something`.
819
+ Exclude:
820
+ - 'spec/**/*'
821
+
822
+ Style/RaiseArgs:
823
+ EnforcedStyle: exploded
824
+ SupportedStyles:
825
+ - compact # raise Exception.new(msg)
826
+ - exploded # raise Exception, msg
827
+
828
+ Style/RedundantReturn:
829
+ # When true allows code like `return x, y`.
830
+ AllowMultipleReturnValues: false
831
+
832
+ # Use / or %r around regular expressions.
833
+ Style/RegexpLiteral:
834
+ EnforcedStyle: slashes
835
+ # slashes: Always use slashes.
836
+ # percent_r: Always use %r.
837
+ # mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
838
+ SupportedStyles:
839
+ - slashes
840
+ - percent_r
841
+ - mixed
842
+ # If false, the cop will always recommend using %r if one or more slashes
843
+ # are found in the regexp string.
844
+ AllowInnerSlashes: false
845
+
846
+ Style/Semicolon:
847
+ # Allow ; to separate several expressions on the same line.
848
+ AllowAsExpressionSeparator: false
849
+
850
+ Style/SignalException:
851
+ EnforcedStyle: only_raise
852
+ SupportedStyles:
853
+ - only_raise
854
+ - only_fail
855
+ - semantic
856
+
857
+ Style/SingleLineBlockParams:
858
+ Methods:
859
+ - reduce:
860
+ - a
861
+ - e
862
+ - inject:
863
+ - a
864
+ - e
865
+
866
+ Style/SingleLineMethods:
867
+ AllowIfMethodIsEmpty: true
868
+
869
+ Style/SpaceBeforeFirstArg:
870
+ # When true, allows most uses of extra spacing if the intent is to align
871
+ # things with the previous or next line, not counting empty lines or comment
872
+ # lines.
873
+ AllowForAlignment: true
874
+
875
+ Style/SpecialGlobalVars:
876
+ EnforcedStyle: use_english_names
877
+ SupportedStyles:
878
+ - use_perl_names
879
+ - use_english_names
880
+
881
+ Style/StabbyLambdaParentheses:
882
+ EnforcedStyle: require_parentheses
883
+ SupportedStyles:
884
+ - require_parentheses
885
+ - require_no_parentheses
886
+
887
+ Style/StringLiterals:
888
+ EnforcedStyle: single_quotes
889
+ SupportedStyles:
890
+ - single_quotes
891
+ - double_quotes
892
+ # If true, strings which span multiple lines using \ for continuation must
893
+ # use the same type of quotes on each line.
894
+ ConsistentQuotesInMultiline: false
895
+
896
+ Style/StringLiteralsInInterpolation:
897
+ EnforcedStyle: single_quotes
898
+ SupportedStyles:
899
+ - single_quotes
900
+ - double_quotes
901
+
902
+ Style/StringMethods:
903
+ # Mapping from undesired method to desired_method
904
+ # e.g. to use `to_sym` over `intern`:
905
+ #
906
+ # StringMethods:
907
+ # PreferredMethods:
908
+ # intern: to_sym
909
+ PreferredMethods:
910
+ intern: to_sym
911
+
912
+ Style/SpaceAroundBlockParameters:
913
+ EnforcedStyleInsidePipes: no_space
914
+ SupportedStylesInsidePipes:
915
+ - space
916
+ - no_space
917
+
918
+ Style/SpaceAroundEqualsInParameterDefault:
919
+ EnforcedStyle: space
920
+ SupportedStyles:
921
+ - space
922
+ - no_space
923
+
924
+ Style/SpaceAroundOperators:
925
+ # When true, allows most uses of extra spacing if the intent is to align
926
+ # with an operator on the previous or next line, not counting empty lines
927
+ # or comment lines.
928
+ AllowForAlignment: true
929
+
930
+ Style/SpaceBeforeBlockBraces:
931
+ EnforcedStyle: space
932
+ SupportedStyles:
933
+ - space
934
+ - no_space
935
+
936
+ Style/SpaceInsideBlockBraces:
937
+ EnforcedStyle: space
938
+ SupportedStyles:
939
+ - space
940
+ - no_space
941
+ # Valid values are: space, no_space
942
+ EnforcedStyleForEmptyBraces: no_space
943
+ # Space between { and |. Overrides EnforcedStyle if there is a conflict.
944
+ SpaceBeforeBlockParameters: true
945
+
946
+ Style/SpaceInsideHashLiteralBraces:
947
+ EnforcedStyle: space
948
+ EnforcedStyleForEmptyBraces: no_space
949
+ SupportedStyles:
950
+ - space
951
+ - no_space
952
+ # 'compact' normally requires a space inside hash braces, with the exception
953
+ # that successive left braces or right braces are collapsed together
954
+ - compact
955
+
956
+ Style/SpaceInsideStringInterpolation:
957
+ EnforcedStyle: no_space
958
+ SupportedStyles:
959
+ - space
960
+ - no_space
961
+
962
+ Style/SymbolArray:
963
+ EnforcedStyle: percent
964
+ SupportedStyles:
965
+ - percent
966
+ - brackets
967
+
968
+ Style/SymbolProc:
969
+ # A list of method names to be ignored by the check.
970
+ # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
971
+ IgnoredMethods:
972
+ - respond_to
973
+ - define_method
974
+
975
+ Style/TernaryParentheses:
976
+ EnforcedStyle: require_no_parentheses
977
+ SupportedStyles:
978
+ - require_parentheses
979
+ - require_no_parentheses
980
+ AllowSafeAssignment: true
981
+
982
+ Style/TrailingBlankLines:
983
+ EnforcedStyle: final_newline
984
+ SupportedStyles:
985
+ - final_newline
986
+ - final_blank_line
987
+
988
+ Style/TrailingCommaInArguments:
989
+ # If `comma`, the cop requires a comma after the last argument, but only for
990
+ # parenthesized method calls where each argument is on its own line.
991
+ # If `consistent_comma`, the cop requires a comma after the last argument,
992
+ # for all parenthesized method calls with arguments.
993
+ EnforcedStyleForMultiline: no_comma
994
+ SupportedStylesForMultiline:
995
+ - comma
996
+ - consistent_comma
997
+ - no_comma
998
+
999
+ Style/TrailingCommaInLiteral:
1000
+ # If `comma`, the cop requires a comma after the last item in an array or
1001
+ # hash, but only when each item is on its own line.
1002
+ # If `consistent_comma`, the cop requires a comma after the last item of all
1003
+ # non-empty array and hash literals.
1004
+ EnforcedStyleForMultiline: no_comma
1005
+ SupportedStylesForMultiline:
1006
+ - comma
1007
+ - consistent_comma
1008
+ - no_comma
1009
+
1010
+ # TrivialAccessors requires exact name matches and doesn't allow
1011
+ # predicated methods by default.
1012
+ Style/TrivialAccessors:
1013
+ # When set to false the cop will suggest the use of accessor methods
1014
+ # in situations like:
1015
+ #
1016
+ # def name
1017
+ # @other_name
1018
+ # end
1019
+ #
1020
+ # This way you can uncover "hidden" attributes in your code.
1021
+ ExactNameMatch: true
1022
+ AllowPredicates: true
1023
+ # Allows trivial writers that don't end in an equal sign. e.g.
1024
+ #
1025
+ # def on_exception(action)
1026
+ # @on_exception=action
1027
+ # end
1028
+ # on_exception :restart
1029
+ #
1030
+ # Commonly used in DSLs
1031
+ AllowDSLWriters: false
1032
+ IgnoreClassMethods: false
1033
+ Whitelist:
1034
+ - to_ary
1035
+ - to_a
1036
+ - to_c
1037
+ - to_enum
1038
+ - to_h
1039
+ - to_hash
1040
+ - to_i
1041
+ - to_int
1042
+ - to_io
1043
+ - to_open
1044
+ - to_path
1045
+ - to_proc
1046
+ - to_r
1047
+ - to_regexp
1048
+ - to_str
1049
+ - to_s
1050
+ - to_sym
1051
+
1052
+ Style/VariableName:
1053
+ EnforcedStyle: snake_case
1054
+ SupportedStyles:
1055
+ - snake_case
1056
+ - camelCase
1057
+
1058
+ Style/VariableNumber:
1059
+ EnforcedStyle: normalcase
1060
+ SupportedStyles:
1061
+ - snake_case
1062
+ - normalcase
1063
+ - non_integer
1064
+
1065
+ Style/WhileUntilModifier:
1066
+ MaxLineLength: 80
1067
+
1068
+ # WordArray enforces how array literals of word-like strings should be expressed.
1069
+ Style/WordArray:
1070
+ EnforcedStyle: percent
1071
+ SupportedStyles:
1072
+ # percent style: %w(word1 word2)
1073
+ - percent
1074
+ # bracket style: ['word1', 'word2']
1075
+ - brackets
1076
+ # The MinSize option causes the WordArray rule to be ignored for arrays
1077
+ # smaller than a certain size. The rule is only applied to arrays
1078
+ # whose element count is greater than or equal to MinSize.
1079
+ MinSize: 0
1080
+ # The regular expression WordRegex decides what is considered a word.
1081
+ WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'
1082
+
1083
+ Style/PreferredHashMethods:
1084
+ Enabled: true
1085
+
1086
+ Style/FrozenStringLiteralComment:
1087
+ Enabled: false
1088
+
1089
+ ##################### Metrics ##################################
1090
+
1091
+ Metrics/AbcSize:
1092
+ # The ABC size is a calculated magnitude, so this number can be an Integer or
1093
+ # a Float.
1094
+ Max: 18
1095
+
1096
+ Metrics/BlockNesting:
1097
+ Max: 3
1098
+
1099
+ Metrics/ClassLength:
1100
+ CountComments: false # count full line comments?
1101
+ Max: 100
1102
+
1103
+ Metrics/ModuleLength:
1104
+ CountComments: false # count full line comments?
1105
+ Max: 100
1106
+
1107
+ # Avoid complex methods.
1108
+ Metrics/CyclomaticComplexity:
1109
+ Max: 9
1110
+
1111
+ Metrics/LineLength:
1112
+ Max: 120
1113
+ # To make it possible to copy or click on URIs in the code, we allow lines
1114
+ # containing a URI to be longer than Max.
1115
+ AllowHeredoc: true
1116
+ AllowURI: true
1117
+ URISchemes:
1118
+ - http
1119
+ - https
1120
+
1121
+ Metrics/MethodLength:
1122
+ CountComments: false # count full line comments?
1123
+ Max: 20
1124
+
1125
+ Metrics/BlockLength:
1126
+ CountComments: false # count full line comments?
1127
+ Max: 25
1128
+ ExcludedMethods: []
1129
+ Exclude:
1130
+ - spec/**/*
1131
+
1132
+ Metrics/ParameterLists:
1133
+ Max: 10
1134
+ CountKeywordArgs: true
1135
+
1136
+ Metrics/PerceivedComplexity:
1137
+ Max: 7
1138
+
1139
+ ##################### Documentation #########################
1140
+
1141
+ Documentation:
1142
+ Enabled: false
1143
+
1144
+ ##################### Lint ##################################
1145
+
1146
+ # Allow safe assignment in conditions.
1147
+ Lint/AssignmentInCondition:
1148
+ AllowSafeAssignment: true
1149
+
1150
+ # checks whether the end keywords are aligned properly for `do` `end` blocks.
1151
+ Lint/BlockAlignment:
1152
+ # The value `start_of_block` means that the `end` should be aligned with line
1153
+ # where the `do` keyword appears.
1154
+ # The value `start_of_line` means it should be aligned with the whole
1155
+ # expression's starting line.
1156
+ # The value `either` means both are allowed.
1157
+ EnforcedStyleAlignWith: either
1158
+ SupportedStylesAlignWith:
1159
+ - either
1160
+ - start_of_block
1161
+ - start_of_line
1162
+
1163
+ # Align ends correctly.
1164
+ Lint/EndAlignment:
1165
+ # The value `keyword` means that `end` should be aligned with the matching
1166
+ # keyword (`if`, `while`, etc.).
1167
+ # The value `variable` means that in assignments, `end` should be aligned
1168
+ # with the start of the variable on the left hand side of `=`. In all other
1169
+ # situations, `end` should still be aligned with the keyword.
1170
+ # The value `start_of_line` means that `end` should be aligned with the start
1171
+ # of the line which the matching keyword appears on.
1172
+ EnforcedStyleAlignWith: keyword
1173
+ SupportedStylesAlignWith:
1174
+ - keyword
1175
+ - variable
1176
+ - start_of_line
1177
+ AutoCorrect: false
1178
+
1179
+ Lint/DefEndAlignment:
1180
+ # The value `def` means that `end` should be aligned with the def keyword.
1181
+ # The value `start_of_line` means that `end` should be aligned with method
1182
+ # calls like `private`, `public`, etc, if present in front of the `def`
1183
+ # keyword on the same line.
1184
+ EnforcedStyleAlignWith: start_of_line
1185
+ SupportedStylesAlignWith:
1186
+ - start_of_line
1187
+ - def
1188
+ AutoCorrect: false
1189
+
1190
+ Lint/InheritException:
1191
+ # The default base class in favour of `Exception`.
1192
+ EnforcedStyle: runtime_error
1193
+ SupportedStyles:
1194
+ - runtime_error
1195
+ - standard_error
1196
+
1197
+ # Checks for unused block arguments
1198
+ Lint/UnusedBlockArgument:
1199
+ IgnoreEmptyBlocks: true
1200
+ AllowUnusedKeywordArguments: false
1201
+
1202
+ # Checks for unused method arguments.
1203
+ Lint/UnusedMethodArgument:
1204
+ AllowUnusedKeywordArguments: false
1205
+ IgnoreEmptyMethods: true
1206
+
1207
+ ##################### Performance ############################
1208
+
1209
+ Performance/RedundantMerge:
1210
+ # Max number of key-value pairs to consider an offense
1211
+ MaxKeyValuePairs: 2
1212
+
1213
+ ##################### Rails ##################################
1214
+
1215
+ Rails/ActionFilter:
1216
+ EnforcedStyle: action
1217
+ SupportedStyles:
1218
+ - action
1219
+ - filter
1220
+ Include:
1221
+ - app/controllers/**/*.rb
1222
+
1223
+ Rails/Date:
1224
+ # The value `strict` disallows usage of `Date.today`, `Date.current`,
1225
+ # `Date#to_time` etc.
1226
+ # The value `flexible` allows usage of `Date.current`, `Date.yesterday`, etc
1227
+ # (but not `Date.today`) which are overridden by ActiveSupport to handle current
1228
+ # time zone.
1229
+ EnforcedStyle: flexible
1230
+ SupportedStyles:
1231
+ - strict
1232
+ - flexible
1233
+
1234
+ Rails/Exit:
1235
+ Include:
1236
+ - app/**/*.rb
1237
+ - config/**/*.rb
1238
+ - lib/**/*.rb
1239
+ Exclude:
1240
+ - lib/**/*.rake
1241
+
1242
+ Rails/FindBy:
1243
+ Include:
1244
+ - app/models/**/*.rb
1245
+
1246
+ Rails/FindEach:
1247
+ Include:
1248
+ - app/models/**/*.rb
1249
+
1250
+ Rails/HasAndBelongsToMany:
1251
+ Include:
1252
+ - app/models/**/*.rb
1253
+
1254
+ Rails/NotNullColumn:
1255
+ Include:
1256
+ - db/migrate/*.rb
1257
+
1258
+ Rails/Output:
1259
+ Include:
1260
+ - app/**/*.rb
1261
+ - config/**/*.rb
1262
+ - db/**/*.rb
1263
+ - lib/**/*.rb
1264
+
1265
+ Rails/ReadWriteAttribute:
1266
+ Include:
1267
+ - app/models/**/*.rb
1268
+
1269
+ Rails/RequestReferer:
1270
+ EnforcedStyle: referer
1271
+ SupportedStyles:
1272
+ - referer
1273
+ - referrer
1274
+
1275
+ Rails/SafeNavigation:
1276
+ # This will convert usages of `try` to use safe navigation as well as `try!`.
1277
+ # `try` and `try!` work slighly differently. `try!` and safe navigation will
1278
+ # both raise a `NoMethodError` if the receiver of the method call does not
1279
+ # implement the intended method. `try` will not raise an exception for this.
1280
+ ConvertTry: false
1281
+
1282
+ Rails/ScopeArgs:
1283
+ Include:
1284
+ - app/models/**/*.rb
1285
+
1286
+ Rails/TimeZone:
1287
+ # The value `strict` means that `Time` should be used with `zone`.
1288
+ # The value `flexible` allows usage of `in_time_zone` instead of `zone`.
1289
+ EnforcedStyle: flexible
1290
+ SupportedStyles:
1291
+ - strict
1292
+ - flexible
1293
+
1294
+ Rails/UniqBeforePluck:
1295
+ EnforcedStyle: conservative
1296
+ SupportedStyles:
1297
+ - conservative
1298
+ - aggressive
1299
+ AutoCorrect: false
1300
+
1301
+ Rails/Validation:
1302
+ Include:
1303
+ - app/models/**/*.rb