rubocop 0.77.0 → 0.81.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +3 -3
- data/config/default.yml +136 -60
- data/lib/rubocop.rb +20 -4
- data/lib/rubocop/ast/builder.rb +45 -42
- data/lib/rubocop/ast/node.rb +11 -18
- data/lib/rubocop/ast/node/block_node.rb +5 -1
- data/lib/rubocop/ast/node/case_match_node.rb +56 -0
- data/lib/rubocop/ast/node/def_node.rb +11 -0
- data/lib/rubocop/ast/node/forward_args_node.rb +18 -0
- data/lib/rubocop/ast/node/regexp_node.rb +2 -4
- data/lib/rubocop/ast/traversal.rb +29 -10
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +7 -7
- data/lib/rubocop/cli/command/show_cops.rb +11 -4
- data/lib/rubocop/comment_config.rb +6 -1
- data/lib/rubocop/config.rb +28 -10
- data/lib/rubocop/config_loader.rb +19 -19
- data/lib/rubocop/config_obsoletion.rb +6 -4
- data/lib/rubocop/config_validator.rb +55 -95
- data/lib/rubocop/cop/autocorrect_logic.rb +7 -4
- data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +2 -2
- data/lib/rubocop/cop/cop.rb +3 -1
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
- data/lib/rubocop/cop/generator.rb +3 -4
- data/lib/rubocop/cop/generator/configuration_injector.rb +1 -1
- data/lib/rubocop/cop/layout/array_alignment.rb +53 -10
- data/lib/rubocop/cop/layout/block_end_newline.rb +5 -3
- data/lib/rubocop/cop/layout/else_alignment.rb +8 -0
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -1
- data/lib/rubocop/cop/layout/first_argument_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/hash_alignment.rb +8 -4
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +4 -4
- data/lib/rubocop/cop/layout/leading_comment_space.rb +33 -2
- data/lib/rubocop/cop/{metrics → layout}/line_length.rb +35 -79
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +14 -5
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +0 -4
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_operators.rb +49 -6
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +17 -0
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +8 -0
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +2 -9
- data/lib/rubocop/cop/lint/boolean_symbol.rb +12 -0
- data/lib/rubocop/cop/lint/debugger.rb +1 -1
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +1 -1
- data/lib/rubocop/cop/lint/loop.rb +6 -4
- data/lib/rubocop/cop/lint/nested_method_definition.rb +2 -2
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +89 -0
- data/lib/rubocop/cop/lint/raise_exception.rb +39 -0
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +3 -3
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +13 -8
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -1
- data/lib/rubocop/cop/lint/struct_new_override.rb +58 -0
- data/lib/rubocop/cop/lint/suppressed_exception.rb +12 -22
- data/lib/rubocop/cop/lint/unused_method_argument.rb +32 -6
- data/lib/rubocop/cop/lint/useless_setter_call.rb +4 -0
- data/lib/rubocop/cop/migration/department_name.rb +47 -6
- data/lib/rubocop/cop/mixin/alignment.rb +1 -1
- data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +4 -0
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +6 -1
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +7 -7
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +171 -0
- data/lib/rubocop/cop/mixin/line_length_help.rb +88 -0
- data/lib/rubocop/cop/mixin/method_complexity.rb +5 -0
- data/lib/rubocop/cop/mixin/rational_literal.rb +18 -0
- data/lib/rubocop/cop/mixin/statement_modifier.rb +2 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +8 -12
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
- data/lib/rubocop/cop/naming/method_name.rb +30 -0
- data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
- data/lib/rubocop/cop/offense.rb +11 -0
- data/lib/rubocop/cop/registry.rb +7 -2
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +26 -6
- data/lib/rubocop/cop/style/attr.rb +8 -0
- data/lib/rubocop/cop/style/block_delimiters.rb +60 -1
- data/lib/rubocop/cop/style/collection_methods.rb +2 -0
- data/lib/rubocop/cop/style/conditional_assignment.rb +2 -2
- data/lib/rubocop/cop/style/documentation.rb +43 -5
- data/lib/rubocop/cop/style/end_block.rb +6 -0
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +89 -11
- data/lib/rubocop/cop/style/guard_clause.rb +3 -2
- data/lib/rubocop/cop/style/hash_each_methods.rb +89 -0
- data/lib/rubocop/cop/style/hash_transform_keys.rb +83 -0
- data/lib/rubocop/cop/style/hash_transform_values.rb +83 -0
- data/lib/rubocop/cop/style/if_unless_modifier.rb +38 -3
- data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +9 -5
- data/lib/rubocop/cop/style/lambda.rb +1 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +7 -205
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +169 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +54 -0
- data/lib/rubocop/cop/style/module_function.rb +56 -10
- data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
- data/lib/rubocop/cop/style/multiline_when_then.rb +5 -1
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +4 -4
- data/lib/rubocop/cop/style/numeric_predicate.rb +4 -3
- data/lib/rubocop/cop/style/one_line_conditional.rb +3 -2
- data/lib/rubocop/cop/style/or_assignment.rb +3 -2
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +7 -7
- data/lib/rubocop/cop/style/redundant_condition.rb +17 -4
- data/lib/rubocop/cop/style/redundant_sort.rb +2 -2
- data/lib/rubocop/cop/style/symbol_array.rb +2 -2
- data/lib/rubocop/cop/style/ternary_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +34 -22
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +41 -0
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +85 -0
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +44 -0
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +7 -1
- data/lib/rubocop/cop/style/while_until_modifier.rb +1 -1
- data/lib/rubocop/cop/style/yoda_condition.rb +16 -1
- data/lib/rubocop/cop/variable_force.rb +4 -1
- data/lib/rubocop/formatter/base_formatter.rb +2 -2
- data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
- data/lib/rubocop/formatter/formatter_set.rb +1 -0
- data/lib/rubocop/formatter/json_formatter.rb +6 -5
- data/lib/rubocop/formatter/junit_formatter.rb +74 -0
- data/lib/rubocop/formatter/tap_formatter.rb +1 -1
- data/lib/rubocop/node_pattern.rb +97 -11
- data/lib/rubocop/options.rb +8 -8
- data/lib/rubocop/processed_source.rb +1 -1
- data/lib/rubocop/result_cache.rb +2 -0
- data/lib/rubocop/rspec/shared_contexts.rb +5 -0
- data/lib/rubocop/runner.rb +5 -1
- data/lib/rubocop/target_ruby.rb +151 -0
- data/lib/rubocop/version.rb +1 -1
- metadata +38 -10
- data/lib/rubocop/cop/lint/end_in_method.rb +0 -40
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +0 -209
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af0dab74354064816d5756cb5a49ab7160c444292ef32e9ee7980dff8a18110f
|
4
|
+
data.tar.gz: 96288aa5f77f19813ef7cac495f7c86d912f3be28da021b01d30136a2ef28f99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 015244a9c6aff6e2d5640e68b286127944418221bb8c76db04273c5c35b5bc41e03bf7d85c44a3b630a0dd8a24f5a4531ddaf61adb0b75a0b39e2e6c2e08d8cf
|
7
|
+
data.tar.gz: 8e209ee81ebf1d5a3215292c7d7eddabaacb64e0fa1da7935372495ad13e5bdd896b7fd27fde25fc0e8ffaa7d1b0873f47c40f505d4828e23a52f0ca2ee847e6
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -41,7 +41,7 @@ automatically fix some of the problems for you.
|
|
41
41
|
$ gem install rubocop
|
42
42
|
```
|
43
43
|
|
44
|
-
If you'd rather install RuboCop using `bundler`,
|
44
|
+
If you'd rather install RuboCop using `bundler`, add a line for it in your `Gemfile` (but set the `require` option to `false`, as it is a standalone tool):
|
45
45
|
|
46
46
|
```rb
|
47
47
|
gem 'rubocop', require: false
|
@@ -53,7 +53,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you
|
|
53
53
|
might want to use a conservative version lock in your `Gemfile`:
|
54
54
|
|
55
55
|
```rb
|
56
|
-
gem 'rubocop', '~> 0.
|
56
|
+
gem 'rubocop', '~> 0.81.0', require: false
|
57
57
|
```
|
58
58
|
|
59
59
|
## Quickstart
|
@@ -213,5 +213,5 @@ RuboCop's changelog is available [here](CHANGELOG.md).
|
|
213
213
|
|
214
214
|
## Copyright
|
215
215
|
|
216
|
-
Copyright (c) 2012-
|
216
|
+
Copyright (c) 2012-2020 Bozhidar Batsov. See [LICENSE.txt](LICENSE.txt) for
|
217
217
|
further details.
|
data/config/default.yml
CHANGED
@@ -54,11 +54,13 @@ AllCops:
|
|
54
54
|
- '**/Puppetfile'
|
55
55
|
- '**/Rakefile'
|
56
56
|
- '**/Snapfile'
|
57
|
+
- '**/Steepfile'
|
57
58
|
- '**/Thorfile'
|
58
59
|
- '**/Vagabondfile'
|
59
60
|
- '**/Vagrantfile'
|
60
61
|
Exclude:
|
61
62
|
- 'node_modules/**/*'
|
63
|
+
- 'tmp/**/*'
|
62
64
|
- 'vendor/**/*'
|
63
65
|
- '.git/**/*'
|
64
66
|
# Default formatter will be used if no `-f/--format` option is given.
|
@@ -196,9 +198,10 @@ Gemspec/RequiredRubyVersion:
|
|
196
198
|
VersionAdded: '0.52'
|
197
199
|
Include:
|
198
200
|
- '**/*.gemspec'
|
199
|
-
|
201
|
+
|
200
202
|
Gemspec/RubyVersionGlobalsUsage:
|
201
203
|
Description: Checks usage of RUBY_VERSION in gemspec.
|
204
|
+
StyleGuide: '#no-ruby-version-in-the-gemspec'
|
202
205
|
Enabled: true
|
203
206
|
VersionAdded: '0.72'
|
204
207
|
Include:
|
@@ -252,10 +255,30 @@ Layout/ArrayAlignment:
|
|
252
255
|
Description: >-
|
253
256
|
Align the elements of an array literal if they span more than
|
254
257
|
one line.
|
255
|
-
StyleGuide: '#
|
258
|
+
StyleGuide: '#no-double-indent'
|
256
259
|
Enabled: true
|
257
260
|
VersionAdded: '0.49'
|
258
261
|
VersionChanged: '0.77'
|
262
|
+
# Alignment of elements of a multi-line array.
|
263
|
+
#
|
264
|
+
# The `with_first_parameter` style aligns the following lines along the same
|
265
|
+
# column as the first element.
|
266
|
+
#
|
267
|
+
# array = [1, 2, 3,
|
268
|
+
# 4, 5, 6]
|
269
|
+
#
|
270
|
+
# The `with_fixed_indentation` style aligns the following lines with one
|
271
|
+
# level of indentation relative to the start of the line with start of array.
|
272
|
+
#
|
273
|
+
# array = [1, 2, 3,
|
274
|
+
# 4, 5, 6]
|
275
|
+
EnforcedStyle: with_first_element
|
276
|
+
SupportedStyles:
|
277
|
+
- with_first_element
|
278
|
+
- with_fixed_indentation
|
279
|
+
# By default, the indentation width from Layout/IndentationWidth is used
|
280
|
+
# But it can be overridden by setting this parameter
|
281
|
+
IndentationWidth: ~
|
259
282
|
|
260
283
|
Layout/AssignmentIndentation:
|
261
284
|
Description: >-
|
@@ -792,6 +815,7 @@ Layout/LeadingCommentSpace:
|
|
792
815
|
VersionAdded: '0.49'
|
793
816
|
VersionChanged: '0.73'
|
794
817
|
AllowDoxygenCommentStyle: false
|
818
|
+
AllowGemfileRubyComment: false
|
795
819
|
|
796
820
|
Layout/LeadingEmptyLines:
|
797
821
|
Description: Check for unnecessary blank lines at the beginning of a file.
|
@@ -799,6 +823,29 @@ Layout/LeadingEmptyLines:
|
|
799
823
|
VersionAdded: '0.57'
|
800
824
|
VersionChanged: '0.77'
|
801
825
|
|
826
|
+
Layout/LineLength:
|
827
|
+
Description: 'Limit lines to 80 characters.'
|
828
|
+
StyleGuide: '#80-character-limits'
|
829
|
+
Enabled: true
|
830
|
+
VersionAdded: '0.25'
|
831
|
+
VersionChanged: '0.78'
|
832
|
+
AutoCorrect: false
|
833
|
+
Max: 80
|
834
|
+
# To make it possible to copy or click on URIs in the code, we allow lines
|
835
|
+
# containing a URI to be longer than Max.
|
836
|
+
AllowHeredoc: true
|
837
|
+
AllowURI: true
|
838
|
+
URISchemes:
|
839
|
+
- http
|
840
|
+
- https
|
841
|
+
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
842
|
+
# directives like '# rubocop: enable ...' when calculating a line's length.
|
843
|
+
IgnoreCopDirectives: true
|
844
|
+
# The IgnoredPatterns option is a list of !ruby/regexp and/or string
|
845
|
+
# elements. Strings will be converted to Regexp objects. A line that matches
|
846
|
+
# any regular expression listed in this option will be ignored by LineLength.
|
847
|
+
IgnoredPatterns: []
|
848
|
+
|
802
849
|
Layout/MultilineArrayBraceLayout:
|
803
850
|
Description: >-
|
804
851
|
Checks that the closing brace in an array literal is
|
@@ -1042,6 +1089,10 @@ Layout/SpaceAroundOperators:
|
|
1042
1089
|
# with an operator on the previous or next line, not counting empty lines
|
1043
1090
|
# or comment lines.
|
1044
1091
|
AllowForAlignment: true
|
1092
|
+
EnforcedStyleForExponentOperator: no_space
|
1093
|
+
SupportedStylesForExponentOperator:
|
1094
|
+
- space
|
1095
|
+
- no_space
|
1045
1096
|
|
1046
1097
|
Layout/SpaceBeforeBlockBraces:
|
1047
1098
|
Description: >-
|
@@ -1272,6 +1323,7 @@ Lint/BooleanSymbol:
|
|
1272
1323
|
Description: 'Check for `:true` and `:false` symbols.'
|
1273
1324
|
Enabled: true
|
1274
1325
|
VersionAdded: '0.50'
|
1326
|
+
VersionChanged: '0.81'
|
1275
1327
|
|
1276
1328
|
Lint/CircularArgumentReference:
|
1277
1329
|
Description: "Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument."
|
@@ -1344,11 +1396,6 @@ Lint/EmptyWhen:
|
|
1344
1396
|
Enabled: true
|
1345
1397
|
VersionAdded: '0.45'
|
1346
1398
|
|
1347
|
-
Lint/EndInMethod:
|
1348
|
-
Description: 'END blocks should not be placed inside method definitions.'
|
1349
|
-
Enabled: true
|
1350
|
-
VersionAdded: '0.9'
|
1351
|
-
|
1352
1399
|
Lint/EnsureReturn:
|
1353
1400
|
Description: 'Do not use return in an ensure block.'
|
1354
1401
|
StyleGuide: '#no-return-ensure'
|
@@ -1471,6 +1518,12 @@ Lint/NextWithoutAccumulator:
|
|
1471
1518
|
Enabled: true
|
1472
1519
|
VersionAdded: '0.36'
|
1473
1520
|
|
1521
|
+
Lint/NonDeterministicRequireOrder:
|
1522
|
+
Description: 'Always sort arrays returned by Dir.glob when requiring files.'
|
1523
|
+
Enabled: true
|
1524
|
+
VersionAdded: '0.78'
|
1525
|
+
Safe: false
|
1526
|
+
|
1474
1527
|
Lint/NonLocalExitFromIterator:
|
1475
1528
|
Description: 'Do not use return in iterator to cause non-local exit.'
|
1476
1529
|
Enabled: true
|
@@ -1509,6 +1562,12 @@ Lint/PercentSymbolArray:
|
|
1509
1562
|
Enabled: true
|
1510
1563
|
VersionAdded: '0.41'
|
1511
1564
|
|
1565
|
+
Lint/RaiseException:
|
1566
|
+
Description: Checks for `raise` or `fail` statements which are raising `Exception` class.
|
1567
|
+
StyleGuide: '#raise-exception'
|
1568
|
+
Enabled: pending
|
1569
|
+
VersionAdded: '0.81'
|
1570
|
+
|
1512
1571
|
Lint/RandOne:
|
1513
1572
|
Description: >-
|
1514
1573
|
Checks for `rand(1)` calls. Such calls always return `0`
|
@@ -1537,7 +1596,7 @@ Lint/RedundantRequireStatement:
|
|
1537
1596
|
Lint/RedundantSplatExpansion:
|
1538
1597
|
Description: 'Checks for splat unnecessarily being called on literals.'
|
1539
1598
|
Enabled: true
|
1540
|
-
|
1599
|
+
VersionAdded: '0.76'
|
1541
1600
|
|
1542
1601
|
Lint/RedundantStringCoercion:
|
1543
1602
|
Description: 'Checks for Object#to_s usage in string interpolation.'
|
@@ -1651,13 +1710,18 @@ Lint/ShadowingOuterLocalVariable:
|
|
1651
1710
|
Enabled: true
|
1652
1711
|
VersionAdded: '0.9'
|
1653
1712
|
|
1713
|
+
Lint/StructNewOverride:
|
1714
|
+
Description: 'Disallow overriding the `Struct` built-in methods via `Struct.new`.'
|
1715
|
+
Enabled: pending
|
1716
|
+
VersionAdded: '0.81'
|
1717
|
+
|
1654
1718
|
Lint/SuppressedException:
|
1655
1719
|
Description: "Don't suppress exceptions."
|
1656
1720
|
StyleGuide: '#dont-hide-exceptions'
|
1657
1721
|
Enabled: true
|
1658
|
-
AllowComments:
|
1722
|
+
AllowComments: true
|
1659
1723
|
VersionAdded: '0.9'
|
1660
|
-
VersionChanged: '0.
|
1724
|
+
VersionChanged: '0.81'
|
1661
1725
|
|
1662
1726
|
Lint/Syntax:
|
1663
1727
|
Description: 'Checks syntax error.'
|
@@ -1668,6 +1732,7 @@ Lint/Syntax:
|
|
1668
1732
|
Lint/ToJSON:
|
1669
1733
|
Description: 'Ensure #to_json includes an optional argument.'
|
1670
1734
|
Enabled: true
|
1735
|
+
VersionAdded: '0.66'
|
1671
1736
|
|
1672
1737
|
Lint/UnderscorePrefixedVariableName:
|
1673
1738
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
@@ -1699,9 +1764,10 @@ Lint/UnusedMethodArgument:
|
|
1699
1764
|
StyleGuide: '#underscore-unused-vars'
|
1700
1765
|
Enabled: true
|
1701
1766
|
VersionAdded: '0.21'
|
1702
|
-
VersionChanged: '0.
|
1767
|
+
VersionChanged: '0.81'
|
1703
1768
|
AllowUnusedKeywordArguments: false
|
1704
1769
|
IgnoreEmptyMethods: true
|
1770
|
+
IgnoreNotImplementedMethods: true
|
1705
1771
|
|
1706
1772
|
Lint/UriEscapeUnescape:
|
1707
1773
|
Description: >-
|
@@ -1747,6 +1813,8 @@ Lint/UselessSetterCall:
|
|
1747
1813
|
Description: 'Checks for useless setter call to a local variable.'
|
1748
1814
|
Enabled: true
|
1749
1815
|
VersionAdded: '0.13'
|
1816
|
+
VersionChanged: '0.80'
|
1817
|
+
Safe: false
|
1750
1818
|
|
1751
1819
|
Lint/Void:
|
1752
1820
|
Description: 'Possible use of operator/literal/variable in void context.'
|
@@ -1765,9 +1833,10 @@ Metrics/AbcSize:
|
|
1765
1833
|
- https://en.wikipedia.org/wiki/ABC_Software_Metric
|
1766
1834
|
Enabled: true
|
1767
1835
|
VersionAdded: '0.27'
|
1768
|
-
VersionChanged: '0.
|
1836
|
+
VersionChanged: '0.81'
|
1769
1837
|
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
1770
1838
|
# a Float.
|
1839
|
+
IgnoredMethods: []
|
1771
1840
|
Max: 15
|
1772
1841
|
|
1773
1842
|
Metrics/BlockLength:
|
@@ -1807,31 +1876,10 @@ Metrics/CyclomaticComplexity:
|
|
1807
1876
|
of test cases needed to validate a method.
|
1808
1877
|
Enabled: true
|
1809
1878
|
VersionAdded: '0.25'
|
1879
|
+
VersionChanged: '0.81'
|
1880
|
+
IgnoredMethods: []
|
1810
1881
|
Max: 6
|
1811
1882
|
|
1812
|
-
Metrics/LineLength:
|
1813
|
-
Description: 'Limit lines to 80 characters.'
|
1814
|
-
StyleGuide: '#80-character-limits'
|
1815
|
-
Enabled: true
|
1816
|
-
VersionAdded: '0.25'
|
1817
|
-
VersionChanged: '0.68'
|
1818
|
-
AutoCorrect: false
|
1819
|
-
Max: 80
|
1820
|
-
# To make it possible to copy or click on URIs in the code, we allow lines
|
1821
|
-
# containing a URI to be longer than Max.
|
1822
|
-
AllowHeredoc: true
|
1823
|
-
AllowURI: true
|
1824
|
-
URISchemes:
|
1825
|
-
- http
|
1826
|
-
- https
|
1827
|
-
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
1828
|
-
# directives like '# rubocop: enable ...' when calculating a line's length.
|
1829
|
-
IgnoreCopDirectives: true
|
1830
|
-
# The IgnoredPatterns option is a list of !ruby/regexp and/or string
|
1831
|
-
# elements. Strings will be converted to Regexp objects. A line that matches
|
1832
|
-
# any regular expression listed in this option will be ignored by LineLength.
|
1833
|
-
IgnoredPatterns: []
|
1834
|
-
|
1835
1883
|
Metrics/MethodLength:
|
1836
1884
|
Description: 'Avoid methods longer than 10 lines of code.'
|
1837
1885
|
StyleGuide: '#short-methods'
|
@@ -1863,6 +1911,8 @@ Metrics/PerceivedComplexity:
|
|
1863
1911
|
human reader.
|
1864
1912
|
Enabled: true
|
1865
1913
|
VersionAdded: '0.25'
|
1914
|
+
VersionChanged: '0.81'
|
1915
|
+
IgnoredMethods: []
|
1866
1916
|
Max: 7
|
1867
1917
|
|
1868
1918
|
################## Migration #############################
|
@@ -1871,7 +1921,8 @@ Migration/DepartmentName:
|
|
1871
1921
|
Description: >-
|
1872
1922
|
Check that cop names in rubocop:disable (etc) comments are
|
1873
1923
|
given with department name.
|
1874
|
-
Enabled:
|
1924
|
+
Enabled: true
|
1925
|
+
VersionAdded: '0.75'
|
1875
1926
|
|
1876
1927
|
#################### Naming ##############################
|
1877
1928
|
|
@@ -2053,6 +2104,7 @@ Naming/MethodParameterName:
|
|
2053
2104
|
- ip
|
2054
2105
|
- db
|
2055
2106
|
- os
|
2107
|
+
- pp
|
2056
2108
|
# Forbidden names that will register an offense
|
2057
2109
|
ForbiddenNames: []
|
2058
2110
|
|
@@ -2161,10 +2213,12 @@ Style/AccessModifierDeclarations:
|
|
2161
2213
|
Description: 'Checks style of how access modifiers are used.'
|
2162
2214
|
Enabled: true
|
2163
2215
|
VersionAdded: '0.57'
|
2216
|
+
VersionChanged: '0.81'
|
2164
2217
|
EnforcedStyle: group
|
2165
2218
|
SupportedStyles:
|
2166
2219
|
- inline
|
2167
2220
|
- group
|
2221
|
+
AllowModifiersOnSymbols: true
|
2168
2222
|
|
2169
2223
|
Style/Alias:
|
2170
2224
|
Description: 'Use alias instead of alias_method.'
|
@@ -2343,24 +2397,12 @@ Style/BlockDelimiters:
|
|
2343
2397
|
# # also good
|
2344
2398
|
# collection.each do |element| puts element end
|
2345
2399
|
AllowBracesOnProceduralOneLiners: false
|
2346
|
-
|
2347
|
-
|
2348
|
-
|
2349
|
-
|
2350
|
-
|
2351
|
-
|
2352
|
-
EnforcedStyle: no_braces
|
2353
|
-
SupportedStyles:
|
2354
|
-
# The `braces` style enforces braces around all method parameters that are
|
2355
|
-
# hashes.
|
2356
|
-
- braces
|
2357
|
-
# The `no_braces` style checks that the last parameter doesn't have braces
|
2358
|
-
# around it.
|
2359
|
-
- no_braces
|
2360
|
-
# The `context_dependent` style checks that the last parameter doesn't have
|
2361
|
-
# braces around it, but requires braces if the second to last parameter is
|
2362
|
-
# also a hash literal.
|
2363
|
-
- context_dependent
|
2400
|
+
# The BracesRequiredMethods overrides all other configurations except
|
2401
|
+
# IgnoredMethods. It can be used to enforce that all blocks for specific
|
2402
|
+
# methods use braces. For example, you can use this to enforce Sorbet
|
2403
|
+
# signatures use braces even when the rest of your codebase enforces
|
2404
|
+
# the `line_count_based` style.
|
2405
|
+
BracesRequiredMethods: []
|
2364
2406
|
|
2365
2407
|
Style/CaseEquality:
|
2366
2408
|
Description: 'Avoid explicit use of the case equality operator(===).'
|
@@ -2430,7 +2472,7 @@ Style/ClassVars:
|
|
2430
2472
|
# Align with the style guide.
|
2431
2473
|
Style/CollectionMethods:
|
2432
2474
|
Description: 'Preferred collection methods.'
|
2433
|
-
StyleGuide: '#map-find-select-reduce-size'
|
2475
|
+
StyleGuide: '#map-find-select-reduce-include-size'
|
2434
2476
|
Enabled: false
|
2435
2477
|
VersionAdded: '0.9'
|
2436
2478
|
VersionChanged: '0.27'
|
@@ -2447,6 +2489,7 @@ Style/CollectionMethods:
|
|
2447
2489
|
inject: 'reduce'
|
2448
2490
|
detect: 'find'
|
2449
2491
|
find_all: 'select'
|
2492
|
+
member?: 'include?'
|
2450
2493
|
|
2451
2494
|
Style/ColonMethodCall:
|
2452
2495
|
Description: 'Do not use :: for method call.'
|
@@ -2672,6 +2715,7 @@ Style/EndBlock:
|
|
2672
2715
|
StyleGuide: '#no-END-blocks'
|
2673
2716
|
Enabled: true
|
2674
2717
|
VersionAdded: '0.9'
|
2718
|
+
VersionChanged: '0.81'
|
2675
2719
|
|
2676
2720
|
Style/EvalWithLocation:
|
2677
2721
|
Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
|
@@ -2746,7 +2790,7 @@ Style/FrozenStringLiteralComment:
|
|
2746
2790
|
to help transition to frozen string literals by default.
|
2747
2791
|
Enabled: true
|
2748
2792
|
VersionAdded: '0.36'
|
2749
|
-
VersionChanged: '0.
|
2793
|
+
VersionChanged: '0.79'
|
2750
2794
|
EnforcedStyle: always
|
2751
2795
|
SupportedStyles:
|
2752
2796
|
# `always` will always add the frozen string literal comment to a file
|
@@ -2754,9 +2798,14 @@ Style/FrozenStringLiteralComment:
|
|
2754
2798
|
# string literal. If you run code against multiple versions of Ruby, it is
|
2755
2799
|
# possible that this will create errors in Ruby 2.3.0+.
|
2756
2800
|
- always
|
2801
|
+
# `always_true` will add the frozen string literal comment to a file,
|
2802
|
+
# similarly to the `always` style, but will also change any disabled
|
2803
|
+
# comments (e.g. `# frozen_string_literal: false`) to be enabled.
|
2804
|
+
- always_true
|
2757
2805
|
# `never` will enforce that the frozen string literal comment does not
|
2758
2806
|
# exist in a file.
|
2759
2807
|
- never
|
2808
|
+
Safe: false
|
2760
2809
|
|
2761
2810
|
Style/GlobalVars:
|
2762
2811
|
Description: 'Do not introduce global variables.'
|
@@ -2777,6 +2826,13 @@ Style/GuardClause:
|
|
2777
2826
|
# needs to have to trigger this cop
|
2778
2827
|
MinBodyLength: 1
|
2779
2828
|
|
2829
|
+
Style/HashEachMethods:
|
2830
|
+
Description: 'Use Hash#each_key and Hash#each_value.'
|
2831
|
+
StyleGuide: '#hash-each'
|
2832
|
+
Enabled: pending
|
2833
|
+
VersionAdded: '0.80'
|
2834
|
+
Safe: false
|
2835
|
+
|
2780
2836
|
Style/HashSyntax:
|
2781
2837
|
Description: >-
|
2782
2838
|
Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
|
@@ -2800,6 +2856,18 @@ Style/HashSyntax:
|
|
2800
2856
|
# Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
|
2801
2857
|
PreferHashRocketsForNonAlnumEndingSymbols: false
|
2802
2858
|
|
2859
|
+
Style/HashTransformKeys:
|
2860
|
+
Description: 'Prefer `transform_keys` over `each_with_object` and `map`.'
|
2861
|
+
Enabled: 'pending'
|
2862
|
+
VersionAdded: '0.80'
|
2863
|
+
Safe: false
|
2864
|
+
|
2865
|
+
Style/HashTransformValues:
|
2866
|
+
Description: 'Prefer `transform_values` over `each_with_object` and `map`.'
|
2867
|
+
Enabled: 'pending'
|
2868
|
+
VersionAdded: '0.80'
|
2869
|
+
Safe: false
|
2870
|
+
|
2803
2871
|
Style/IdenticalConditionalBranches:
|
2804
2872
|
Description: >-
|
2805
2873
|
Checks that conditional statements do not have an identical
|
@@ -2908,7 +2976,7 @@ Style/LambdaCall:
|
|
2908
2976
|
Description: 'Use lambda.call(...) instead of lambda.(...).'
|
2909
2977
|
StyleGuide: '#proc-call'
|
2910
2978
|
Enabled: true
|
2911
|
-
VersionAdded: '0.13
|
2979
|
+
VersionAdded: '0.13'
|
2912
2980
|
VersionChanged: '0.14'
|
2913
2981
|
EnforcedStyle: call
|
2914
2982
|
SupportedStyles:
|
@@ -3038,6 +3106,7 @@ Style/ModuleFunction:
|
|
3038
3106
|
SupportedStyles:
|
3039
3107
|
- module_function
|
3040
3108
|
- extend_self
|
3109
|
+
- forbidden
|
3041
3110
|
Autocorrect: false
|
3042
3111
|
SafeAutoCorrect: false
|
3043
3112
|
|
@@ -3777,22 +3846,29 @@ Style/TrailingCommaInArrayLiteral:
|
|
3777
3846
|
StyleGuide: '#no-trailing-array-commas'
|
3778
3847
|
Enabled: true
|
3779
3848
|
VersionAdded: '0.53'
|
3849
|
+
# If `comma`, the cop requires a comma after the last item in an array,
|
3780
3850
|
# but only when each item is on its own line.
|
3781
3851
|
# If `consistent_comma`, the cop requires a comma after the last item of all
|
3782
|
-
# non-empty array literals.
|
3852
|
+
# non-empty, multiline array literals.
|
3783
3853
|
EnforcedStyleForMultiline: no_comma
|
3784
3854
|
SupportedStylesForMultiline:
|
3785
3855
|
- comma
|
3786
3856
|
- consistent_comma
|
3787
3857
|
- no_comma
|
3788
3858
|
|
3859
|
+
Style/TrailingCommaInBlockArgs:
|
3860
|
+
Description: 'Checks for useless trailing commas in block arguments.'
|
3861
|
+
Enabled: false
|
3862
|
+
Safe: false
|
3863
|
+
VersionAdded: '0.81'
|
3864
|
+
|
3789
3865
|
Style/TrailingCommaInHashLiteral:
|
3790
3866
|
Description: 'Checks for trailing comma in hash literals.'
|
3791
3867
|
Enabled: true
|
3792
3868
|
# If `comma`, the cop requires a comma after the last item in a hash,
|
3793
3869
|
# but only when each item is on its own line.
|
3794
3870
|
# If `consistent_comma`, the cop requires a comma after the last item of all
|
3795
|
-
# non-empty hash literals.
|
3871
|
+
# non-empty, multiline hash literals.
|
3796
3872
|
EnforcedStyleForMultiline: no_comma
|
3797
3873
|
SupportedStylesForMultiline:
|
3798
3874
|
- comma
|
@@ -3842,7 +3918,7 @@ Style/TrivialAccessors:
|
|
3842
3918
|
# Commonly used in DSLs
|
3843
3919
|
AllowDSLWriters: false
|
3844
3920
|
IgnoreClassMethods: false
|
3845
|
-
|
3921
|
+
AllowedMethods:
|
3846
3922
|
- to_ary
|
3847
3923
|
- to_a
|
3848
3924
|
- to_c
|