rubocop 0.74.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +3 -2
 - data/config/default.yml +366 -318
 - data/lib/rubocop.rb +48 -32
 - data/lib/rubocop/ast/builder.rb +1 -0
 - data/lib/rubocop/ast/node.rb +5 -1
 - data/lib/rubocop/ast/node/block_node.rb +2 -0
 - data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +1 -12
 - data/lib/rubocop/ast/node/return_node.rb +24 -0
 - data/lib/rubocop/cli.rb +11 -227
 - data/lib/rubocop/cli/command.rb +21 -0
 - data/lib/rubocop/cli/command/auto_genenerate_config.rb +105 -0
 - data/lib/rubocop/cli/command/base.rb +33 -0
 - data/lib/rubocop/cli/command/execute_runner.rb +76 -0
 - data/lib/rubocop/cli/command/init_dotfile.rb +45 -0
 - data/lib/rubocop/cli/command/show_cops.rb +73 -0
 - data/lib/rubocop/cli/command/version.rb +17 -0
 - data/lib/rubocop/cli/environment.rb +21 -0
 - data/lib/rubocop/comment_config.rb +5 -4
 - data/lib/rubocop/config.rb +12 -1
 - data/lib/rubocop/config_loader.rb +21 -3
 - data/lib/rubocop/config_loader_resolver.rb +4 -3
 - data/lib/rubocop/config_obsoletion.rb +85 -11
 - data/lib/rubocop/config_validator.rb +28 -19
 - data/lib/rubocop/cop/autocorrect_logic.rb +3 -3
 - data/lib/rubocop/cop/bundler/gem_comment.rb +4 -4
 - data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +2 -2
 - data/lib/rubocop/cop/commissioner.rb +15 -7
 - data/lib/rubocop/cop/cop.rb +35 -9
 - data/lib/rubocop/cop/corrector.rb +8 -7
 - data/lib/rubocop/cop/correctors/alignment_corrector.rb +43 -17
 - data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +2 -2
 - data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
 - data/lib/rubocop/cop/correctors/space_corrector.rb +1 -2
 - data/lib/rubocop/cop/generator.rb +3 -3
 - data/lib/rubocop/cop/generator/configuration_injector.rb +9 -4
 - data/lib/rubocop/cop/generator/require_file_injector.rb +1 -1
 - data/lib/rubocop/cop/internal_affairs.rb +1 -0
 - data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +59 -0
 - data/lib/rubocop/cop/layout/{align_arguments.rb → argument_alignment.rb} +1 -1
 - data/lib/rubocop/cop/layout/{align_array.rb → array_alignment.rb} +1 -1
 - data/lib/rubocop/cop/layout/{indent_assignment.rb → assignment_indentation.rb} +11 -2
 - data/lib/rubocop/cop/layout/block_alignment.rb +2 -2
 - data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
 - data/lib/rubocop/cop/layout/comment_indentation.rb +10 -13
 - data/lib/rubocop/cop/layout/empty_comment.rb +7 -16
 - data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -7
 - data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +2 -2
 - data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -2
 - data/lib/rubocop/cop/layout/end_of_line.rb +8 -3
 - data/lib/rubocop/cop/layout/extra_spacing.rb +1 -7
 - data/lib/rubocop/cop/layout/{indent_first_argument.rb → first_argument_indentation.rb} +14 -12
 - data/lib/rubocop/cop/layout/{indent_first_array_element.rb → first_array_element_indentation.rb} +4 -4
 - data/lib/rubocop/cop/layout/{indent_first_hash_element.rb → first_hash_element_indentation.rb} +4 -4
 - data/lib/rubocop/cop/layout/{indent_first_parameter.rb → first_parameter_indentation.rb} +3 -3
 - data/lib/rubocop/cop/layout/{align_hash.rb → hash_alignment.rb} +8 -4
 - data/lib/rubocop/cop/layout/{indent_heredoc.rb → heredoc_indentation.rb} +6 -6
 - data/lib/rubocop/cop/layout/{leading_blank_lines.rb → leading_empty_lines.rb} +1 -1
 - data/lib/rubocop/cop/{metrics → layout}/line_length.rb +41 -114
 - data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +1 -1
 - data/lib/rubocop/cop/layout/multiline_block_layout.rb +24 -2
 - data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
 - data/lib/rubocop/cop/layout/{align_parameters.rb → parameter_alignment.rb} +1 -1
 - data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -0
 - data/lib/rubocop/cop/layout/space_around_block_parameters.rb +5 -1
 - data/lib/rubocop/cop/layout/space_around_keyword.rb +12 -0
 - data/lib/rubocop/cop/layout/space_around_operators.rb +32 -7
 - data/lib/rubocop/cop/layout/space_before_block_braces.rb +17 -0
 - data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +9 -7
 - data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +8 -5
 - data/lib/rubocop/cop/layout/space_inside_block_braces.rb +7 -0
 - data/lib/rubocop/cop/layout/space_inside_parens.rb +6 -6
 - data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +2 -0
 - data/lib/rubocop/cop/layout/{trailing_blank_lines.rb → trailing_empty_lines.rb} +1 -1
 - data/lib/rubocop/cop/layout/trailing_whitespace.rb +18 -2
 - data/lib/rubocop/cop/lint/assignment_in_condition.rb +17 -4
 - data/lib/rubocop/cop/lint/debugger.rb +1 -1
 - data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
 - data/lib/rubocop/cop/lint/{duplicated_key.rb → duplicate_hash_key.rb} +1 -1
 - data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
 - data/lib/rubocop/cop/lint/erb_new_arguments.rb +9 -8
 - data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +10 -36
 - data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
 - data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +2 -2
 - data/lib/rubocop/cop/lint/{multiple_compare.rb → multiple_comparison.rb} +1 -1
 - data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +89 -0
 - data/lib/rubocop/cop/lint/number_conversion.rb +1 -1
 - data/lib/rubocop/cop/lint/{unneeded_cop_disable_directive.rb → redundant_cop_disable_directive.rb} +26 -26
 - data/lib/rubocop/cop/lint/{unneeded_cop_enable_directive.rb → redundant_cop_enable_directive.rb} +10 -12
 - data/lib/rubocop/cop/lint/{unneeded_require_statement.rb → redundant_require_statement.rb} +1 -1
 - data/lib/rubocop/cop/lint/{unneeded_splat_expansion.rb → redundant_splat_expansion.rb} +6 -6
 - data/lib/rubocop/cop/lint/{string_conversion_in_interpolation.rb → redundant_string_coercion.rb} +1 -1
 - data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -2
 - data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -2
 - data/lib/rubocop/cop/lint/safe_navigation_chain.rb +5 -6
 - data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +91 -0
 - data/lib/rubocop/cop/lint/{handle_exceptions.rb → suppressed_exception.rb} +1 -1
 - data/lib/rubocop/cop/lint/unused_block_argument.rb +22 -6
 - data/lib/rubocop/cop/lint/unused_method_argument.rb +23 -5
 - data/lib/rubocop/cop/lint/useless_access_modifier.rb +57 -23
 - data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
 - data/lib/rubocop/cop/lint/void.rb +7 -26
 - data/lib/rubocop/cop/message_annotator.rb +16 -7
 - data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
 - data/lib/rubocop/cop/metrics/method_length.rb +1 -1
 - data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +23 -6
 - data/lib/rubocop/cop/migration/department_name.rb +44 -0
 - data/lib/rubocop/cop/mixin/alignment.rb +2 -2
 - data/lib/rubocop/cop/mixin/frozen_string_literal.rb +1 -1
 - data/lib/rubocop/cop/mixin/{hash_alignment.rb → hash_alignment_styles.rb} +1 -1
 - data/lib/rubocop/cop/mixin/line_length_help.rb +88 -0
 - data/lib/rubocop/cop/mixin/method_complexity.rb +2 -1
 - data/lib/rubocop/cop/mixin/nil_methods.rb +4 -4
 - data/lib/rubocop/cop/mixin/rational_literal.rb +18 -0
 - data/lib/rubocop/cop/mixin/statement_modifier.rb +7 -4
 - data/lib/rubocop/cop/mixin/trailing_comma.rb +14 -9
 - data/lib/rubocop/cop/naming/{uncommunicative_block_param_name.rb → block_parameter_name.rb} +3 -3
 - data/lib/rubocop/cop/naming/file_name.rb +12 -5
 - data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +5 -5
 - data/lib/rubocop/cop/naming/method_name.rb +12 -1
 - data/lib/rubocop/cop/naming/{uncommunicative_method_param_name.rb → method_parameter_name.rb} +3 -3
 - data/lib/rubocop/cop/naming/predicate_name.rb +6 -6
 - data/lib/rubocop/cop/naming/variable_name.rb +1 -0
 - data/lib/rubocop/cop/offense.rb +29 -7
 - data/lib/rubocop/cop/registry.rb +22 -1
 - data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -0
 - data/lib/rubocop/cop/style/alias.rb +1 -1
 - data/lib/rubocop/cop/style/array_join.rb +1 -1
 - data/lib/rubocop/cop/style/attr.rb +10 -2
 - data/lib/rubocop/cop/style/block_delimiters.rb +2 -1
 - data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +35 -16
 - data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
 - data/lib/rubocop/cop/style/comment_annotation.rb +5 -5
 - data/lib/rubocop/cop/style/commented_keyword.rb +8 -2
 - data/lib/rubocop/cop/style/conditional_assignment.rb +6 -6
 - data/lib/rubocop/cop/style/copyright.rb +11 -7
 - data/lib/rubocop/cop/style/documentation_method.rb +44 -0
 - data/lib/rubocop/cop/style/double_cop_disable_directive.rb +10 -4
 - data/lib/rubocop/cop/style/empty_case_condition.rb +2 -2
 - data/lib/rubocop/cop/style/empty_literal.rb +2 -2
 - data/lib/rubocop/cop/style/empty_method.rb +5 -5
 - data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
 - data/lib/rubocop/cop/style/even_odd.rb +1 -1
 - data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -1
 - data/lib/rubocop/cop/style/format_string.rb +10 -7
 - data/lib/rubocop/cop/style/format_string_token.rb +19 -68
 - data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +28 -33
 - data/lib/rubocop/cop/style/guard_clause.rb +3 -2
 - data/lib/rubocop/cop/style/hash_syntax.rb +2 -2
 - data/lib/rubocop/cop/style/if_unless_modifier.rb +93 -15
 - data/lib/rubocop/cop/style/infinite_loop.rb +6 -5
 - data/lib/rubocop/cop/style/inverse_methods.rb +19 -13
 - data/lib/rubocop/cop/style/ip_addresses.rb +4 -4
 - data/lib/rubocop/cop/style/line_end_concatenation.rb +14 -10
 - data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +25 -25
 - data/lib/rubocop/cop/style/method_def_parentheses.rb +17 -9
 - data/lib/rubocop/cop/style/mixin_grouping.rb +1 -1
 - data/lib/rubocop/cop/style/mixin_usage.rb +11 -1
 - data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
 - data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
 - data/lib/rubocop/cop/style/multiline_when_then.rb +1 -1
 - data/lib/rubocop/cop/style/nested_modifier.rb +22 -4
 - data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +5 -5
 - data/lib/rubocop/cop/style/next.rb +5 -5
 - data/lib/rubocop/cop/style/non_nil_check.rb +21 -9
 - data/lib/rubocop/cop/style/numeric_literals.rb +7 -3
 - data/lib/rubocop/cop/style/option_hash.rb +3 -3
 - data/lib/rubocop/cop/style/or_assignment.rb +6 -1
 - data/lib/rubocop/cop/style/parentheses_around_condition.rb +14 -0
 - data/lib/rubocop/cop/style/{unneeded_capital_w.rb → redundant_capital_w.rb} +1 -1
 - data/lib/rubocop/cop/style/{unneeded_condition.rb → redundant_condition.rb} +3 -3
 - data/lib/rubocop/cop/style/{unneeded_interpolation.rb → redundant_interpolation.rb} +1 -1
 - data/lib/rubocop/cop/style/redundant_parentheses.rb +16 -7
 - data/lib/rubocop/cop/style/{unneeded_percent_q.rb → redundant_percent_q.rb} +1 -1
 - data/lib/rubocop/cop/style/redundant_return.rb +39 -29
 - data/lib/rubocop/cop/style/redundant_self.rb +18 -1
 - data/lib/rubocop/cop/style/{unneeded_sort.rb → redundant_sort.rb} +5 -5
 - data/lib/rubocop/cop/style/rescue_modifier.rb +24 -0
 - data/lib/rubocop/cop/style/safe_navigation.rb +23 -3
 - data/lib/rubocop/cop/style/semicolon.rb +13 -2
 - data/lib/rubocop/cop/style/single_line_methods.rb +8 -1
 - data/lib/rubocop/cop/style/special_global_vars.rb +5 -7
 - data/lib/rubocop/cop/style/ternary_parentheses.rb +19 -0
 - data/lib/rubocop/cop/style/trailing_underscore_variable.rb +7 -1
 - data/lib/rubocop/cop/style/trivial_accessors.rb +5 -5
 - data/lib/rubocop/cop/style/while_until_modifier.rb +1 -1
 - data/lib/rubocop/cop/team.rb +5 -0
 - data/lib/rubocop/cop/util.rb +1 -1
 - data/lib/rubocop/cop/utils/format_string.rb +120 -0
 - data/lib/rubocop/cop/variable_force.rb +7 -5
 - data/lib/rubocop/cop/variable_force/variable.rb +15 -2
 - data/lib/rubocop/core_ext/string.rb +0 -24
 - data/lib/rubocop/formatter/base_formatter.rb +2 -2
 - data/lib/rubocop/formatter/clang_style_formatter.rb +9 -6
 - data/lib/rubocop/formatter/emacs_style_formatter.rb +22 -9
 - data/lib/rubocop/formatter/file_list_formatter.rb +1 -1
 - data/lib/rubocop/formatter/formatter_set.rb +16 -15
 - data/lib/rubocop/formatter/json_formatter.rb +6 -5
 - data/lib/rubocop/formatter/pacman_formatter.rb +80 -0
 - data/lib/rubocop/formatter/simple_text_formatter.rb +16 -4
 - data/lib/rubocop/formatter/tap_formatter.rb +18 -7
 - data/lib/rubocop/magic_comment.rb +4 -0
 - data/lib/rubocop/node_pattern.rb +4 -2
 - data/lib/rubocop/options.rb +21 -26
 - data/lib/rubocop/processed_source.rb +1 -1
 - data/lib/rubocop/rake_task.rb +1 -0
 - data/lib/rubocop/result_cache.rb +24 -8
 - data/lib/rubocop/runner.rb +60 -33
 - data/lib/rubocop/target_finder.rb +12 -6
 - data/lib/rubocop/version.rb +1 -1
 - metadata +48 -33
 - data/lib/rubocop/cop/mixin/ignored_method_patterns.rb +0 -19
 - data/lib/rubocop/cop/mixin/safe_mode.rb +0 -22
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a1c6769965ef19c24fed5115e5ee0e6949aef81f2d4f0c64a28e867b694b8f8b
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6785ee7c23edbb4b47414ca32a9cb7b7e24565c454c8e4a33f742b9a15de8e5b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: e3e28e9ed24f5e757ce4c24f4ee4d079eb5e7ac1c6f50bd50fb512c5b4986d84ec19b0ba426a9b077ca734177a5e5139a50c12f5fe331216abee67bd6a2436b4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 2f2739072557a141d69a51037e38a0973bee53caf40d216610eaffd3a8f14409e64562ed71a49803ad8b11b71fedc51312657efaecb27189900c7b5c44b2cb8c
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -9,6 +9,7 @@ 
     | 
|
| 
       9 
9 
     | 
    
         
             
            [](https://www.patreon.com/bbatsov)
         
     | 
| 
       10 
10 
     | 
    
         
             
            [](#open-collective-backers)
         
     | 
| 
       11 
11 
     | 
    
         
             
            [](#open-collective-sponsors)
         
     | 
| 
      
 12 
     | 
    
         
            +
            [](https://tidelift.com/subscription/pkg/rubygems-rubocop?utm_source=rubygems-rubocop&utm_medium=referral&utm_campaign=readme)
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
            <p align="center">
         
     | 
| 
       14 
15 
     | 
    
         
             
              <img src="https://raw.githubusercontent.com/rubocop-hq/rubocop/master/logo/rubo-logo-horizontal.png" alt="RuboCop Logo"/>
         
     | 
| 
         @@ -52,7 +53,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you 
     | 
|
| 
       52 
53 
     | 
    
         
             
            might want to use a conservative version lock in your `Gemfile`:
         
     | 
| 
       53 
54 
     | 
    
         | 
| 
       54 
55 
     | 
    
         
             
            ```rb
         
     | 
| 
       55 
     | 
    
         
            -
            gem 'rubocop', '~> 0. 
     | 
| 
      
 56 
     | 
    
         
            +
            gem 'rubocop', '~> 0.78.0', require: false
         
     | 
| 
       56 
57 
     | 
    
         
             
            ```
         
     | 
| 
       57 
58 
     | 
    
         | 
| 
       58 
59 
     | 
    
         
             
            ## Quickstart
         
     | 
| 
         @@ -73,7 +74,7 @@ You can read a lot more about RuboCop in its [official docs](https://docs.ruboco 
     | 
|
| 
       73 
74 
     | 
    
         
             
            RuboCop supports the following Ruby implementations:
         
     | 
| 
       74 
75 
     | 
    
         | 
| 
       75 
76 
     | 
    
         
             
            * MRI 2.3+
         
     | 
| 
       76 
     | 
    
         
            -
            * JRuby 9. 
     | 
| 
      
 77 
     | 
    
         
            +
            * JRuby 9.2+
         
     | 
| 
       77 
78 
     | 
    
         | 
| 
       78 
79 
     | 
    
         
             
            ## Team
         
     | 
| 
       79 
80 
     | 
    
         | 
    
        data/config/default.yml
    CHANGED
    
    | 
         @@ -59,6 +59,7 @@ AllCops: 
     | 
|
| 
       59 
59 
     | 
    
         
             
                - '**/Vagrantfile'
         
     | 
| 
       60 
60 
     | 
    
         
             
              Exclude:
         
     | 
| 
       61 
61 
     | 
    
         
             
                - 'node_modules/**/*'
         
     | 
| 
      
 62 
     | 
    
         
            +
                - 'tmp/**/*'
         
     | 
| 
       62 
63 
     | 
    
         
             
                - 'vendor/**/*'
         
     | 
| 
       63 
64 
     | 
    
         
             
                - '.git/**/*'
         
     | 
| 
       64 
65 
     | 
    
         
             
              # Default formatter will be used if no `-f/--format` option is given.
         
     | 
| 
         @@ -141,11 +142,12 @@ Bundler/GemComment: 
     | 
|
| 
       141 
142 
     | 
    
         
             
              Description: 'Add a comment describing each gem.'
         
     | 
| 
       142 
143 
     | 
    
         
             
              Enabled: false
         
     | 
| 
       143 
144 
     | 
    
         
             
              VersionAdded: '0.59'
         
     | 
| 
      
 145 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       144 
146 
     | 
    
         
             
              Include:
         
     | 
| 
       145 
147 
     | 
    
         
             
                - '**/*.gemfile'
         
     | 
| 
       146 
148 
     | 
    
         
             
                - '**/Gemfile'
         
     | 
| 
       147 
149 
     | 
    
         
             
                - '**/gems.rb'
         
     | 
| 
       148 
     | 
    
         
            -
               
     | 
| 
      
 150 
     | 
    
         
            +
              IgnoredGems: []
         
     | 
| 
       149 
151 
     | 
    
         | 
| 
       150 
152 
     | 
    
         
             
            Bundler/InsecureProtocolSource:
         
     | 
| 
       151 
153 
     | 
    
         
             
              Description: >-
         
     | 
| 
         @@ -195,9 +197,10 @@ Gemspec/RequiredRubyVersion: 
     | 
|
| 
       195 
197 
     | 
    
         
             
              VersionAdded: '0.52'
         
     | 
| 
       196 
198 
     | 
    
         
             
              Include:
         
     | 
| 
       197 
199 
     | 
    
         
             
                - '**/*.gemspec'
         
     | 
| 
       198 
     | 
    
         
            -
             
     | 
| 
      
 200 
     | 
    
         
            +
             
     | 
| 
       199 
201 
     | 
    
         
             
            Gemspec/RubyVersionGlobalsUsage:
         
     | 
| 
       200 
202 
     | 
    
         
             
              Description: Checks usage of RUBY_VERSION in gemspec.
         
     | 
| 
      
 203 
     | 
    
         
            +
              StyleGuide: '#no-ruby-version-in-the-gemspec'
         
     | 
| 
       201 
204 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       202 
205 
     | 
    
         
             
              VersionAdded: '0.72'
         
     | 
| 
       203 
206 
     | 
    
         
             
              Include:
         
     | 
| 
         @@ -218,13 +221,14 @@ Layout/AccessModifierIndentation: 
     | 
|
| 
       218 
221 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       219 
222 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       220 
223 
     | 
    
         | 
| 
       221 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 224 
     | 
    
         
            +
            Layout/ArgumentAlignment:
         
     | 
| 
       222 
225 
     | 
    
         
             
              Description: >-
         
     | 
| 
       223 
226 
     | 
    
         
             
                             Align the arguments of a method call if they span more
         
     | 
| 
       224 
227 
     | 
    
         
             
                             than one line.
         
     | 
| 
       225 
228 
     | 
    
         
             
              StyleGuide: '#no-double-indent'
         
     | 
| 
       226 
229 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       227 
230 
     | 
    
         
             
              VersionAdded: '0.68'
         
     | 
| 
      
 231 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       228 
232 
     | 
    
         
             
              # Alignment of arguments in multi-line method calls.
         
     | 
| 
       229 
233 
     | 
    
         
             
              #
         
     | 
| 
       230 
234 
     | 
    
         
             
              # The `with_first_argument` style aligns the following lines along the same
         
     | 
| 
         @@ -246,117 +250,23 @@ Layout/AlignArguments: 
     | 
|
| 
       246 
250 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       247 
251 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       248 
252 
     | 
    
         | 
| 
       249 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 253 
     | 
    
         
            +
            Layout/ArrayAlignment:
         
     | 
| 
       250 
254 
     | 
    
         
             
              Description: >-
         
     | 
| 
       251 
255 
     | 
    
         
             
                             Align the elements of an array literal if they span more than
         
     | 
| 
       252 
256 
     | 
    
         
             
                             one line.
         
     | 
| 
       253 
257 
     | 
    
         
             
              StyleGuide: '#align-multiline-arrays'
         
     | 
| 
       254 
258 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       255 
259 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
      
 260 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       256 
261 
     | 
    
         | 
| 
       257 
     | 
    
         
            -
            Layout/ 
     | 
| 
       258 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       259 
     | 
    
         
            -
                             Align the elements of a hash literal if they span more than
         
     | 
| 
       260 
     | 
    
         
            -
                             one line.
         
     | 
| 
       261 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       262 
     | 
    
         
            -
              AllowMultipleStyles: true
         
     | 
| 
       263 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       264 
     | 
    
         
            -
              # Alignment of entries using hash rocket as separator. Valid values are:
         
     | 
| 
       265 
     | 
    
         
            -
              #
         
     | 
| 
       266 
     | 
    
         
            -
              # key - left alignment of keys
         
     | 
| 
       267 
     | 
    
         
            -
              #   'a' => 2
         
     | 
| 
       268 
     | 
    
         
            -
              #   'bb' => 3
         
     | 
| 
       269 
     | 
    
         
            -
              # separator - alignment of hash rockets, keys are right aligned
         
     | 
| 
       270 
     | 
    
         
            -
              #    'a' => 2
         
     | 
| 
       271 
     | 
    
         
            -
              #   'bb' => 3
         
     | 
| 
       272 
     | 
    
         
            -
              # table - left alignment of keys, hash rockets, and values
         
     | 
| 
       273 
     | 
    
         
            -
              #   'a'  => 2
         
     | 
| 
       274 
     | 
    
         
            -
              #   'bb' => 3
         
     | 
| 
       275 
     | 
    
         
            -
              EnforcedHashRocketStyle: key
         
     | 
| 
       276 
     | 
    
         
            -
              SupportedHashRocketStyles:
         
     | 
| 
       277 
     | 
    
         
            -
                - key
         
     | 
| 
       278 
     | 
    
         
            -
                - separator
         
     | 
| 
       279 
     | 
    
         
            -
                - table
         
     | 
| 
       280 
     | 
    
         
            -
              # Alignment of entries using colon as separator. Valid values are:
         
     | 
| 
       281 
     | 
    
         
            -
              #
         
     | 
| 
       282 
     | 
    
         
            -
              # key - left alignment of keys
         
     | 
| 
       283 
     | 
    
         
            -
              #   a: 0
         
     | 
| 
       284 
     | 
    
         
            -
              #   bb: 1
         
     | 
| 
       285 
     | 
    
         
            -
              # separator - alignment of colons, keys are right aligned
         
     | 
| 
       286 
     | 
    
         
            -
              #    a: 0
         
     | 
| 
       287 
     | 
    
         
            -
              #   bb: 1
         
     | 
| 
       288 
     | 
    
         
            -
              # table - left alignment of keys and values
         
     | 
| 
       289 
     | 
    
         
            -
              #   a:  0
         
     | 
| 
       290 
     | 
    
         
            -
              #   bb: 1
         
     | 
| 
       291 
     | 
    
         
            -
              EnforcedColonStyle: key
         
     | 
| 
       292 
     | 
    
         
            -
              SupportedColonStyles:
         
     | 
| 
       293 
     | 
    
         
            -
                - key
         
     | 
| 
       294 
     | 
    
         
            -
                - separator
         
     | 
| 
       295 
     | 
    
         
            -
                - table
         
     | 
| 
       296 
     | 
    
         
            -
              # Select whether hashes that are the last argument in a method call should be
         
     | 
| 
       297 
     | 
    
         
            -
              # inspected? Valid values are:
         
     | 
| 
       298 
     | 
    
         
            -
              #
         
     | 
| 
       299 
     | 
    
         
            -
              # always_inspect - Inspect both implicit and explicit hashes.
         
     | 
| 
       300 
     | 
    
         
            -
              #   Registers an offense for:
         
     | 
| 
       301 
     | 
    
         
            -
              #     function(a: 1,
         
     | 
| 
       302 
     | 
    
         
            -
              #       b: 2)
         
     | 
| 
       303 
     | 
    
         
            -
              #   Registers an offense for:
         
     | 
| 
       304 
     | 
    
         
            -
              #     function({a: 1,
         
     | 
| 
       305 
     | 
    
         
            -
              #       b: 2})
         
     | 
| 
       306 
     | 
    
         
            -
              # always_ignore - Ignore both implicit and explicit hashes.
         
     | 
| 
       307 
     | 
    
         
            -
              #   Accepts:
         
     | 
| 
       308 
     | 
    
         
            -
              #     function(a: 1,
         
     | 
| 
       309 
     | 
    
         
            -
              #       b: 2)
         
     | 
| 
       310 
     | 
    
         
            -
              #   Accepts:
         
     | 
| 
       311 
     | 
    
         
            -
              #     function({a: 1,
         
     | 
| 
       312 
     | 
    
         
            -
              #       b: 2})
         
     | 
| 
       313 
     | 
    
         
            -
              # ignore_implicit - Ignore only implicit hashes.
         
     | 
| 
       314 
     | 
    
         
            -
              #   Accepts:
         
     | 
| 
       315 
     | 
    
         
            -
              #     function(a: 1,
         
     | 
| 
       316 
     | 
    
         
            -
              #       b: 2)
         
     | 
| 
       317 
     | 
    
         
            -
              #   Registers an offense for:
         
     | 
| 
       318 
     | 
    
         
            -
              #     function({a: 1,
         
     | 
| 
       319 
     | 
    
         
            -
              #       b: 2})
         
     | 
| 
       320 
     | 
    
         
            -
              # ignore_explicit - Ignore only explicit hashes.
         
     | 
| 
       321 
     | 
    
         
            -
              #   Accepts:
         
     | 
| 
       322 
     | 
    
         
            -
              #     function({a: 1,
         
     | 
| 
       323 
     | 
    
         
            -
              #       b: 2})
         
     | 
| 
       324 
     | 
    
         
            -
              #   Registers an offense for:
         
     | 
| 
       325 
     | 
    
         
            -
              #     function(a: 1,
         
     | 
| 
       326 
     | 
    
         
            -
              #       b: 2)
         
     | 
| 
       327 
     | 
    
         
            -
              EnforcedLastArgumentHashStyle: always_inspect
         
     | 
| 
       328 
     | 
    
         
            -
              SupportedLastArgumentHashStyles:
         
     | 
| 
       329 
     | 
    
         
            -
                - always_inspect
         
     | 
| 
       330 
     | 
    
         
            -
                - always_ignore
         
     | 
| 
       331 
     | 
    
         
            -
                - ignore_implicit
         
     | 
| 
       332 
     | 
    
         
            -
                - ignore_explicit
         
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
       334 
     | 
    
         
            -
            Layout/AlignParameters:
         
     | 
| 
      
 262 
     | 
    
         
            +
            Layout/AssignmentIndentation:
         
     | 
| 
       335 
263 
     | 
    
         
             
              Description: >-
         
     | 
| 
       336 
     | 
    
         
            -
             
     | 
| 
       337 
     | 
    
         
            -
             
     | 
| 
       338 
     | 
    
         
            -
              StyleGuide: '#no-double-indent'
         
     | 
| 
      
 264 
     | 
    
         
            +
                            Checks the indentation of the first line of the
         
     | 
| 
      
 265 
     | 
    
         
            +
                            right-hand-side of a multi-line assignment.
         
     | 
| 
       339 
266 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       340 
267 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       341 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
       342 
     | 
    
         
            -
              #  
     | 
| 
       343 
     | 
    
         
            -
              #
         
     | 
| 
       344 
     | 
    
         
            -
              # The `with_first_parameter` style aligns the following lines along the same
         
     | 
| 
       345 
     | 
    
         
            -
              # column as the first parameter.
         
     | 
| 
       346 
     | 
    
         
            -
              #
         
     | 
| 
       347 
     | 
    
         
            -
              #     def method_foo(a,
         
     | 
| 
       348 
     | 
    
         
            -
              #                    b)
         
     | 
| 
       349 
     | 
    
         
            -
              #
         
     | 
| 
       350 
     | 
    
         
            -
              # The `with_fixed_indentation` style aligns the following lines with one
         
     | 
| 
       351 
     | 
    
         
            -
              # level of indentation relative to the start of the line with the method call.
         
     | 
| 
       352 
     | 
    
         
            -
              #
         
     | 
| 
       353 
     | 
    
         
            -
              #     def method_foo(a,
         
     | 
| 
       354 
     | 
    
         
            -
              #       b)
         
     | 
| 
       355 
     | 
    
         
            -
              EnforcedStyle: with_first_parameter
         
     | 
| 
       356 
     | 
    
         
            -
              SupportedStyles:
         
     | 
| 
       357 
     | 
    
         
            -
                - with_first_parameter
         
     | 
| 
       358 
     | 
    
         
            -
                - with_fixed_indentation
         
     | 
| 
       359 
     | 
    
         
            -
              # By default, the indentation width from Layout/IndentationWidth is used
         
     | 
| 
      
 268 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 269 
     | 
    
         
            +
              # By default, the indentation width from `Layout/IndentationWidth` is used
         
     | 
| 
       360 
270 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       361 
271 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       362 
272 
     | 
    
         | 
| 
         @@ -624,56 +534,11 @@ Layout/ExtraSpacing: 
     | 
|
| 
       624 
534 
     | 
    
         
             
              # When true, forces the alignment of `=` in assignments on consecutive lines.
         
     | 
| 
       625 
535 
     | 
    
         
             
              ForceEqualSignAlignment: false
         
     | 
| 
       626 
536 
     | 
    
         | 
| 
       627 
     | 
    
         
            -
            Layout/ 
     | 
| 
       628 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       629 
     | 
    
         
            -
                             Checks for a line break before the first element in a
         
     | 
| 
       630 
     | 
    
         
            -
                             multi-line array.
         
     | 
| 
       631 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       632 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       633 
     | 
    
         
            -
             
     | 
| 
       634 
     | 
    
         
            -
            Layout/FirstHashElementLineBreak:
         
     | 
| 
       635 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       636 
     | 
    
         
            -
                             Checks for a line break before the first element in a
         
     | 
| 
       637 
     | 
    
         
            -
                             multi-line hash.
         
     | 
| 
       638 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       639 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       640 
     | 
    
         
            -
             
     | 
| 
       641 
     | 
    
         
            -
            Layout/FirstMethodArgumentLineBreak:
         
     | 
| 
       642 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       643 
     | 
    
         
            -
                             Checks for a line break before the first argument in a
         
     | 
| 
       644 
     | 
    
         
            -
                             multi-line method call.
         
     | 
| 
       645 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       646 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       647 
     | 
    
         
            -
             
     | 
| 
       648 
     | 
    
         
            -
            Layout/FirstMethodParameterLineBreak:
         
     | 
| 
       649 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       650 
     | 
    
         
            -
                             Checks for a line break before the first parameter in a
         
     | 
| 
       651 
     | 
    
         
            -
                             multi-line method parameter definition.
         
     | 
| 
       652 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       653 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       654 
     | 
    
         
            -
             
     | 
| 
       655 
     | 
    
         
            -
            Layout/HeredocArgumentClosingParenthesis:
         
     | 
| 
       656 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       657 
     | 
    
         
            -
                             Checks for the placement of the closing parenthesis in a
         
     | 
| 
       658 
     | 
    
         
            -
                             method call that passes a HEREDOC string as an argument.
         
     | 
| 
       659 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       660 
     | 
    
         
            -
              StyleGuide: '#heredoc-argument-closing-parentheses'
         
     | 
| 
       661 
     | 
    
         
            -
              VersionAdded: '0.68'
         
     | 
| 
       662 
     | 
    
         
            -
             
     | 
| 
       663 
     | 
    
         
            -
            Layout/IndentAssignment:
         
     | 
| 
       664 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       665 
     | 
    
         
            -
                             Checks the indentation of the first line of the
         
     | 
| 
       666 
     | 
    
         
            -
                             right-hand-side of a multi-line assignment.
         
     | 
| 
       667 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       668 
     | 
    
         
            -
              VersionAdded: '0.49'
         
     | 
| 
       669 
     | 
    
         
            -
              # By default, the indentation width from `Layout/IndentationWidth` is used
         
     | 
| 
       670 
     | 
    
         
            -
              # But it can be overridden by setting this parameter
         
     | 
| 
       671 
     | 
    
         
            -
              IndentationWidth: ~
         
     | 
| 
       672 
     | 
    
         
            -
             
     | 
| 
       673 
     | 
    
         
            -
            Layout/IndentFirstArgument:
         
     | 
| 
      
 537 
     | 
    
         
            +
            Layout/FirstArgumentIndentation:
         
     | 
| 
       674 
538 
     | 
    
         
             
              Description: 'Checks the indentation of the first argument in a method call.'
         
     | 
| 
       675 
539 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       676 
540 
     | 
    
         
             
              VersionAdded: '0.68'
         
     | 
| 
      
 541 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       677 
542 
     | 
    
         
             
              EnforcedStyle: special_for_inner_method_call_in_parentheses
         
     | 
| 
       678 
543 
     | 
    
         
             
              SupportedStyles:
         
     | 
| 
       679 
544 
     | 
    
         
             
                # The first parameter should always be indented one step more than the
         
     | 
| 
         @@ -694,12 +559,13 @@ Layout/IndentFirstArgument: 
     | 
|
| 
       694 
559 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       695 
560 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       696 
561 
     | 
    
         | 
| 
       697 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 562 
     | 
    
         
            +
            Layout/FirstArrayElementIndentation:
         
     | 
| 
       698 
563 
     | 
    
         
             
              Description: >-
         
     | 
| 
       699 
564 
     | 
    
         
             
                             Checks the indentation of the first element in an array
         
     | 
| 
       700 
565 
     | 
    
         
             
                             literal.
         
     | 
| 
       701 
566 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       702 
567 
     | 
    
         
             
              VersionAdded: '0.68'
         
     | 
| 
      
 568 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       703 
569 
     | 
    
         
             
              # The value `special_inside_parentheses` means that array literals with
         
     | 
| 
       704 
570 
     | 
    
         
             
              # brackets that have their opening bracket on the same line as a surrounding
         
     | 
| 
       705 
571 
     | 
    
         
             
              # opening round parenthesis, shall have their first element indented relative
         
     | 
| 
         @@ -720,10 +586,18 @@ Layout/IndentFirstArrayElement: 
     | 
|
| 
       720 
586 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       721 
587 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       722 
588 
     | 
    
         | 
| 
       723 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 589 
     | 
    
         
            +
            Layout/FirstArrayElementLineBreak:
         
     | 
| 
      
 590 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 591 
     | 
    
         
            +
                             Checks for a line break before the first element in a
         
     | 
| 
      
 592 
     | 
    
         
            +
                             multi-line array.
         
     | 
| 
      
 593 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 594 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 595 
     | 
    
         
            +
             
     | 
| 
      
 596 
     | 
    
         
            +
            Layout/FirstHashElementIndentation:
         
     | 
| 
       724 
597 
     | 
    
         
             
              Description: 'Checks the indentation of the first key in a hash literal.'
         
     | 
| 
       725 
598 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       726 
599 
     | 
    
         
             
              VersionAdded: '0.68'
         
     | 
| 
      
 600 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       727 
601 
     | 
    
         
             
              # The value `special_inside_parentheses` means that hash literals with braces
         
     | 
| 
       728 
602 
     | 
    
         
             
              # that have their opening brace on the same line as a surrounding opening
         
     | 
| 
       729 
603 
     | 
    
         
             
              # round parenthesis, shall have their first key indented relative to the
         
     | 
| 
         @@ -744,13 +618,34 @@ Layout/IndentFirstHashElement: 
     | 
|
| 
       744 
618 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       745 
619 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       746 
620 
     | 
    
         | 
| 
       747 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 621 
     | 
    
         
            +
            Layout/FirstHashElementLineBreak:
         
     | 
| 
      
 622 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 623 
     | 
    
         
            +
                             Checks for a line break before the first element in a
         
     | 
| 
      
 624 
     | 
    
         
            +
                             multi-line hash.
         
     | 
| 
      
 625 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 626 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 627 
     | 
    
         
            +
             
     | 
| 
      
 628 
     | 
    
         
            +
            Layout/FirstMethodArgumentLineBreak:
         
     | 
| 
      
 629 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 630 
     | 
    
         
            +
                             Checks for a line break before the first argument in a
         
     | 
| 
      
 631 
     | 
    
         
            +
                             multi-line method call.
         
     | 
| 
      
 632 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 633 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 634 
     | 
    
         
            +
             
     | 
| 
      
 635 
     | 
    
         
            +
            Layout/FirstMethodParameterLineBreak:
         
     | 
| 
      
 636 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 637 
     | 
    
         
            +
                             Checks for a line break before the first parameter in a
         
     | 
| 
      
 638 
     | 
    
         
            +
                             multi-line method parameter definition.
         
     | 
| 
      
 639 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 640 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 641 
     | 
    
         
            +
             
     | 
| 
      
 642 
     | 
    
         
            +
            Layout/FirstParameterIndentation:
         
     | 
| 
       748 
643 
     | 
    
         
             
              Description: >-
         
     | 
| 
       749 
644 
     | 
    
         
             
                             Checks the indentation of the first parameter in a
         
     | 
| 
       750 
645 
     | 
    
         
             
                             method definition.
         
     | 
| 
       751 
646 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       752 
647 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       753 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 648 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       754 
649 
     | 
    
         
             
              EnforcedStyle: consistent
         
     | 
| 
       755 
650 
     | 
    
         
             
              SupportedStyles:
         
     | 
| 
       756 
651 
     | 
    
         
             
                - consistent
         
     | 
| 
         @@ -759,12 +654,98 @@ Layout/IndentFirstParameter: 
     | 
|
| 
       759 
654 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       760 
655 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       761 
656 
     | 
    
         | 
| 
       762 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 657 
     | 
    
         
            +
            Layout/HashAlignment:
         
     | 
| 
      
 658 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 659 
     | 
    
         
            +
                Align the elements of a hash literal if they span more than
         
     | 
| 
      
 660 
     | 
    
         
            +
                one line.
         
     | 
| 
      
 661 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 662 
     | 
    
         
            +
              AllowMultipleStyles: true
         
     | 
| 
      
 663 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 664 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 665 
     | 
    
         
            +
              # Alignment of entries using hash rocket as separator. Valid values are:
         
     | 
| 
      
 666 
     | 
    
         
            +
              #
         
     | 
| 
      
 667 
     | 
    
         
            +
              # key - left alignment of keys
         
     | 
| 
      
 668 
     | 
    
         
            +
              #   'a' => 2
         
     | 
| 
      
 669 
     | 
    
         
            +
              #   'bb' => 3
         
     | 
| 
      
 670 
     | 
    
         
            +
              # separator - alignment of hash rockets, keys are right aligned
         
     | 
| 
      
 671 
     | 
    
         
            +
              #    'a' => 2
         
     | 
| 
      
 672 
     | 
    
         
            +
              #   'bb' => 3
         
     | 
| 
      
 673 
     | 
    
         
            +
              # table - left alignment of keys, hash rockets, and values
         
     | 
| 
      
 674 
     | 
    
         
            +
              #   'a'  => 2
         
     | 
| 
      
 675 
     | 
    
         
            +
              #   'bb' => 3
         
     | 
| 
      
 676 
     | 
    
         
            +
              EnforcedHashRocketStyle: key
         
     | 
| 
      
 677 
     | 
    
         
            +
              SupportedHashRocketStyles:
         
     | 
| 
      
 678 
     | 
    
         
            +
                - key
         
     | 
| 
      
 679 
     | 
    
         
            +
                - separator
         
     | 
| 
      
 680 
     | 
    
         
            +
                - table
         
     | 
| 
      
 681 
     | 
    
         
            +
              # Alignment of entries using colon as separator. Valid values are:
         
     | 
| 
      
 682 
     | 
    
         
            +
              #
         
     | 
| 
      
 683 
     | 
    
         
            +
              # key - left alignment of keys
         
     | 
| 
      
 684 
     | 
    
         
            +
              #   a: 0
         
     | 
| 
      
 685 
     | 
    
         
            +
              #   bb: 1
         
     | 
| 
      
 686 
     | 
    
         
            +
              # separator - alignment of colons, keys are right aligned
         
     | 
| 
      
 687 
     | 
    
         
            +
              #    a: 0
         
     | 
| 
      
 688 
     | 
    
         
            +
              #   bb: 1
         
     | 
| 
      
 689 
     | 
    
         
            +
              # table - left alignment of keys and values
         
     | 
| 
      
 690 
     | 
    
         
            +
              #   a:  0
         
     | 
| 
      
 691 
     | 
    
         
            +
              #   bb: 1
         
     | 
| 
      
 692 
     | 
    
         
            +
              EnforcedColonStyle: key
         
     | 
| 
      
 693 
     | 
    
         
            +
              SupportedColonStyles:
         
     | 
| 
      
 694 
     | 
    
         
            +
                - key
         
     | 
| 
      
 695 
     | 
    
         
            +
                - separator
         
     | 
| 
      
 696 
     | 
    
         
            +
                - table
         
     | 
| 
      
 697 
     | 
    
         
            +
              # Select whether hashes that are the last argument in a method call should be
         
     | 
| 
      
 698 
     | 
    
         
            +
              # inspected? Valid values are:
         
     | 
| 
      
 699 
     | 
    
         
            +
              #
         
     | 
| 
      
 700 
     | 
    
         
            +
              # always_inspect - Inspect both implicit and explicit hashes.
         
     | 
| 
      
 701 
     | 
    
         
            +
              #   Registers an offense for:
         
     | 
| 
      
 702 
     | 
    
         
            +
              #     function(a: 1,
         
     | 
| 
      
 703 
     | 
    
         
            +
              #       b: 2)
         
     | 
| 
      
 704 
     | 
    
         
            +
              #   Registers an offense for:
         
     | 
| 
      
 705 
     | 
    
         
            +
              #     function({a: 1,
         
     | 
| 
      
 706 
     | 
    
         
            +
              #       b: 2})
         
     | 
| 
      
 707 
     | 
    
         
            +
              # always_ignore - Ignore both implicit and explicit hashes.
         
     | 
| 
      
 708 
     | 
    
         
            +
              #   Accepts:
         
     | 
| 
      
 709 
     | 
    
         
            +
              #     function(a: 1,
         
     | 
| 
      
 710 
     | 
    
         
            +
              #       b: 2)
         
     | 
| 
      
 711 
     | 
    
         
            +
              #   Accepts:
         
     | 
| 
      
 712 
     | 
    
         
            +
              #     function({a: 1,
         
     | 
| 
      
 713 
     | 
    
         
            +
              #       b: 2})
         
     | 
| 
      
 714 
     | 
    
         
            +
              # ignore_implicit - Ignore only implicit hashes.
         
     | 
| 
      
 715 
     | 
    
         
            +
              #   Accepts:
         
     | 
| 
      
 716 
     | 
    
         
            +
              #     function(a: 1,
         
     | 
| 
      
 717 
     | 
    
         
            +
              #       b: 2)
         
     | 
| 
      
 718 
     | 
    
         
            +
              #   Registers an offense for:
         
     | 
| 
      
 719 
     | 
    
         
            +
              #     function({a: 1,
         
     | 
| 
      
 720 
     | 
    
         
            +
              #       b: 2})
         
     | 
| 
      
 721 
     | 
    
         
            +
              # ignore_explicit - Ignore only explicit hashes.
         
     | 
| 
      
 722 
     | 
    
         
            +
              #   Accepts:
         
     | 
| 
      
 723 
     | 
    
         
            +
              #     function({a: 1,
         
     | 
| 
      
 724 
     | 
    
         
            +
              #       b: 2})
         
     | 
| 
      
 725 
     | 
    
         
            +
              #   Registers an offense for:
         
     | 
| 
      
 726 
     | 
    
         
            +
              #     function(a: 1,
         
     | 
| 
      
 727 
     | 
    
         
            +
              #       b: 2)
         
     | 
| 
      
 728 
     | 
    
         
            +
              EnforcedLastArgumentHashStyle: always_inspect
         
     | 
| 
      
 729 
     | 
    
         
            +
              SupportedLastArgumentHashStyles:
         
     | 
| 
      
 730 
     | 
    
         
            +
                - always_inspect
         
     | 
| 
      
 731 
     | 
    
         
            +
                - always_ignore
         
     | 
| 
      
 732 
     | 
    
         
            +
                - ignore_implicit
         
     | 
| 
      
 733 
     | 
    
         
            +
                - ignore_explicit
         
     | 
| 
      
 734 
     | 
    
         
            +
             
     | 
| 
      
 735 
     | 
    
         
            +
            Layout/HeredocArgumentClosingParenthesis:
         
     | 
| 
      
 736 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 737 
     | 
    
         
            +
                             Checks for the placement of the closing parenthesis in a
         
     | 
| 
      
 738 
     | 
    
         
            +
                             method call that passes a HEREDOC string as an argument.
         
     | 
| 
      
 739 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 740 
     | 
    
         
            +
              StyleGuide: '#heredoc-argument-closing-parentheses'
         
     | 
| 
      
 741 
     | 
    
         
            +
              VersionAdded: '0.68'
         
     | 
| 
      
 742 
     | 
    
         
            +
             
     | 
| 
      
 743 
     | 
    
         
            +
            Layout/HeredocIndentation:
         
     | 
| 
       763 
744 
     | 
    
         
             
              Description: 'This cop checks the indentation of the here document bodies.'
         
     | 
| 
       764 
745 
     | 
    
         
             
              StyleGuide: '#squiggly-heredocs'
         
     | 
| 
       765 
746 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       766 
747 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       767 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 748 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       768 
749 
     | 
    
         
             
              EnforcedStyle: squiggly
         
     | 
| 
       769 
750 
     | 
    
         
             
              SupportedStyles:
         
     | 
| 
       770 
751 
     | 
    
         
             
                - squiggly
         
     | 
| 
         @@ -806,11 +787,6 @@ Layout/InitialIndentation: 
     | 
|
| 
       806 
787 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       807 
788 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       808 
789 
     | 
    
         | 
| 
       809 
     | 
    
         
            -
            Layout/LeadingBlankLines:
         
     | 
| 
       810 
     | 
    
         
            -
              Description: Check for unnecessary blank lines at the beginning of a file.
         
     | 
| 
       811 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       812 
     | 
    
         
            -
              VersionAdded: '0.57'
         
     | 
| 
       813 
     | 
    
         
            -
             
     | 
| 
       814 
790 
     | 
    
         
             
            Layout/LeadingCommentSpace:
         
     | 
| 
       815 
791 
     | 
    
         
             
              Description: 'Comments should start with a space.'
         
     | 
| 
       816 
792 
     | 
    
         
             
              StyleGuide: '#hash-space'
         
     | 
| 
         @@ -819,6 +795,35 @@ Layout/LeadingCommentSpace: 
     | 
|
| 
       819 
795 
     | 
    
         
             
              VersionChanged: '0.73'
         
     | 
| 
       820 
796 
     | 
    
         
             
              AllowDoxygenCommentStyle: false
         
     | 
| 
       821 
797 
     | 
    
         | 
| 
      
 798 
     | 
    
         
            +
            Layout/LeadingEmptyLines:
         
     | 
| 
      
 799 
     | 
    
         
            +
              Description: Check for unnecessary blank lines at the beginning of a file.
         
     | 
| 
      
 800 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 801 
     | 
    
         
            +
              VersionAdded: '0.57'
         
     | 
| 
      
 802 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 803 
     | 
    
         
            +
             
     | 
| 
      
 804 
     | 
    
         
            +
            Layout/LineLength:
         
     | 
| 
      
 805 
     | 
    
         
            +
              Description: 'Limit lines to 80 characters.'
         
     | 
| 
      
 806 
     | 
    
         
            +
              StyleGuide: '#80-character-limits'
         
     | 
| 
      
 807 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 808 
     | 
    
         
            +
              VersionAdded: '0.25'
         
     | 
| 
      
 809 
     | 
    
         
            +
              VersionChanged: '0.78'
         
     | 
| 
      
 810 
     | 
    
         
            +
              AutoCorrect: false
         
     | 
| 
      
 811 
     | 
    
         
            +
              Max: 80
         
     | 
| 
      
 812 
     | 
    
         
            +
              # To make it possible to copy or click on URIs in the code, we allow lines
         
     | 
| 
      
 813 
     | 
    
         
            +
              # containing a URI to be longer than Max.
         
     | 
| 
      
 814 
     | 
    
         
            +
              AllowHeredoc: true
         
     | 
| 
      
 815 
     | 
    
         
            +
              AllowURI: true
         
     | 
| 
      
 816 
     | 
    
         
            +
              URISchemes:
         
     | 
| 
      
 817 
     | 
    
         
            +
                - http
         
     | 
| 
      
 818 
     | 
    
         
            +
                - https
         
     | 
| 
      
 819 
     | 
    
         
            +
              # The IgnoreCopDirectives option causes the LineLength rule to ignore cop
         
     | 
| 
      
 820 
     | 
    
         
            +
              # directives like '# rubocop: enable ...' when calculating a line's length.
         
     | 
| 
      
 821 
     | 
    
         
            +
              IgnoreCopDirectives: true
         
     | 
| 
      
 822 
     | 
    
         
            +
              # The IgnoredPatterns option is a list of !ruby/regexp and/or string
         
     | 
| 
      
 823 
     | 
    
         
            +
              # elements. Strings will be converted to Regexp objects. A line that matches
         
     | 
| 
      
 824 
     | 
    
         
            +
              # any regular expression listed in this option will be ignored by LineLength.
         
     | 
| 
      
 825 
     | 
    
         
            +
              IgnoredPatterns: []
         
     | 
| 
      
 826 
     | 
    
         
            +
             
     | 
| 
       822 
827 
     | 
    
         
             
            Layout/MultilineArrayBraceLayout:
         
     | 
| 
       823 
828 
     | 
    
         
             
              Description: >-
         
     | 
| 
       824 
829 
     | 
    
         
             
                             Checks that the closing brace in an array literal is
         
     | 
| 
         @@ -960,6 +965,35 @@ Layout/MultilineOperationIndentation: 
     | 
|
| 
       960 
965 
     | 
    
         
             
              # But it can be overridden by setting this parameter
         
     | 
| 
       961 
966 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       962 
967 
     | 
    
         | 
| 
      
 968 
     | 
    
         
            +
            Layout/ParameterAlignment:
         
     | 
| 
      
 969 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 970 
     | 
    
         
            +
                             Align the parameters of a method definition if they span more
         
     | 
| 
      
 971 
     | 
    
         
            +
                             than one line.
         
     | 
| 
      
 972 
     | 
    
         
            +
              StyleGuide: '#no-double-indent'
         
     | 
| 
      
 973 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 974 
     | 
    
         
            +
              VersionAdded: '0.49'
         
     | 
| 
      
 975 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 976 
     | 
    
         
            +
              # Alignment of parameters in multi-line method calls.
         
     | 
| 
      
 977 
     | 
    
         
            +
              #
         
     | 
| 
      
 978 
     | 
    
         
            +
              # The `with_first_parameter` style aligns the following lines along the same
         
     | 
| 
      
 979 
     | 
    
         
            +
              # column as the first parameter.
         
     | 
| 
      
 980 
     | 
    
         
            +
              #
         
     | 
| 
      
 981 
     | 
    
         
            +
              #     def method_foo(a,
         
     | 
| 
      
 982 
     | 
    
         
            +
              #                    b)
         
     | 
| 
      
 983 
     | 
    
         
            +
              #
         
     | 
| 
      
 984 
     | 
    
         
            +
              # The `with_fixed_indentation` style aligns the following lines with one
         
     | 
| 
      
 985 
     | 
    
         
            +
              # level of indentation relative to the start of the line with the method call.
         
     | 
| 
      
 986 
     | 
    
         
            +
              #
         
     | 
| 
      
 987 
     | 
    
         
            +
              #     def method_foo(a,
         
     | 
| 
      
 988 
     | 
    
         
            +
              #       b)
         
     | 
| 
      
 989 
     | 
    
         
            +
              EnforcedStyle: with_first_parameter
         
     | 
| 
      
 990 
     | 
    
         
            +
              SupportedStyles:
         
     | 
| 
      
 991 
     | 
    
         
            +
                - with_first_parameter
         
     | 
| 
      
 992 
     | 
    
         
            +
                - with_fixed_indentation
         
     | 
| 
      
 993 
     | 
    
         
            +
              # By default, the indentation width from Layout/IndentationWidth is used
         
     | 
| 
      
 994 
     | 
    
         
            +
              # But it can be overridden by setting this parameter
         
     | 
| 
      
 995 
     | 
    
         
            +
              IndentationWidth: ~
         
     | 
| 
      
 996 
     | 
    
         
            +
             
     | 
| 
       963 
997 
     | 
    
         
             
            Layout/RescueEnsureAlignment:
         
     | 
| 
       964 
998 
     | 
    
         
             
              Description: 'Align rescues and ensures correctly.'
         
     | 
| 
       965 
999 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1033,6 +1067,10 @@ Layout/SpaceAroundOperators: 
     | 
|
| 
       1033 
1067 
     | 
    
         
             
              # with an operator on the previous or next line, not counting empty lines
         
     | 
| 
       1034 
1068 
     | 
    
         
             
              # or comment lines.
         
     | 
| 
       1035 
1069 
     | 
    
         
             
              AllowForAlignment: true
         
     | 
| 
      
 1070 
     | 
    
         
            +
              EnforcedStyleForExponentOperator: no_space
         
     | 
| 
      
 1071 
     | 
    
         
            +
              SupportedStylesForExponentOperator:
         
     | 
| 
      
 1072 
     | 
    
         
            +
                - space
         
     | 
| 
      
 1073 
     | 
    
         
            +
                - no_space
         
     | 
| 
       1036 
1074 
     | 
    
         | 
| 
       1037 
1075 
     | 
    
         
             
            Layout/SpaceBeforeBlockBraces:
         
     | 
| 
       1038 
1076 
     | 
    
         
             
              Description: >-
         
     | 
| 
         @@ -1202,11 +1240,12 @@ Layout/Tab: 
     | 
|
| 
       1202 
1240 
     | 
    
         
             
              # replace each tab.
         
     | 
| 
       1203 
1241 
     | 
    
         
             
              IndentationWidth: ~
         
     | 
| 
       1204 
1242 
     | 
    
         | 
| 
       1205 
     | 
    
         
            -
            Layout/ 
     | 
| 
      
 1243 
     | 
    
         
            +
            Layout/TrailingEmptyLines:
         
     | 
| 
       1206 
1244 
     | 
    
         
             
              Description: 'Checks trailing blank lines and final newline.'
         
     | 
| 
       1207 
1245 
     | 
    
         
             
              StyleGuide: '#newline-eof'
         
     | 
| 
       1208 
1246 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1209 
1247 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
      
 1248 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       1210 
1249 
     | 
    
         
             
              EnforcedStyle: final_newline
         
     | 
| 
       1211 
1250 
     | 
    
         
             
              SupportedStyles:
         
     | 
| 
       1212 
1251 
     | 
    
         
             
                - final_newline
         
     | 
| 
         @@ -1290,16 +1329,17 @@ Lint/DuplicateCaseCondition: 
     | 
|
| 
       1290 
1329 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1291 
1330 
     | 
    
         
             
              VersionAdded: '0.45'
         
     | 
| 
       1292 
1331 
     | 
    
         | 
| 
      
 1332 
     | 
    
         
            +
            Lint/DuplicateHashKey:
         
     | 
| 
      
 1333 
     | 
    
         
            +
              Description: 'Check for duplicate keys in hash literals.'
         
     | 
| 
      
 1334 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1335 
     | 
    
         
            +
              VersionAdded: '0.34'
         
     | 
| 
      
 1336 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 1337 
     | 
    
         
            +
             
     | 
| 
       1293 
1338 
     | 
    
         
             
            Lint/DuplicateMethods:
         
     | 
| 
       1294 
1339 
     | 
    
         
             
              Description: 'Check for duplicate method definitions.'
         
     | 
| 
       1295 
1340 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1296 
1341 
     | 
    
         
             
              VersionAdded: '0.29'
         
     | 
| 
       1297 
1342 
     | 
    
         | 
| 
       1298 
     | 
    
         
            -
            Lint/DuplicatedKey:
         
     | 
| 
       1299 
     | 
    
         
            -
              Description: 'Check for duplicate keys in hash literals.'
         
     | 
| 
       1300 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1301 
     | 
    
         
            -
              VersionAdded: '0.34'
         
     | 
| 
       1302 
     | 
    
         
            -
             
     | 
| 
       1303 
1343 
     | 
    
         
             
            Lint/EachWithObjectArgument:
         
     | 
| 
       1304 
1344 
     | 
    
         
             
              Description: 'Check for immutable argument given to each_with_object.'
         
     | 
| 
       1305 
1345 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1367,14 +1407,6 @@ Lint/FormatParameterMismatch: 
     | 
|
| 
       1367 
1407 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1368 
1408 
     | 
    
         
             
              VersionAdded: '0.33'
         
     | 
| 
       1369 
1409 
     | 
    
         | 
| 
       1370 
     | 
    
         
            -
            Lint/HandleExceptions:
         
     | 
| 
       1371 
     | 
    
         
            -
              Description: "Don't suppress exception."
         
     | 
| 
       1372 
     | 
    
         
            -
              StyleGuide: '#dont-hide-exceptions'
         
     | 
| 
       1373 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1374 
     | 
    
         
            -
              AllowComments: false
         
     | 
| 
       1375 
     | 
    
         
            -
              VersionAdded: '0.9'
         
     | 
| 
       1376 
     | 
    
         
            -
              VersionChanged: '0.70'
         
     | 
| 
       1377 
     | 
    
         
            -
             
     | 
| 
       1378 
1410 
     | 
    
         
             
            Lint/HeredocMethodCallPosition:
         
     | 
| 
       1379 
1411 
     | 
    
         
             
              Description: >-
         
     | 
| 
       1380 
1412 
     | 
    
         
             
                             Checks for the ordering of a method call where
         
     | 
| 
         @@ -1444,10 +1476,11 @@ Lint/MissingCopEnableDirective: 
     | 
|
| 
       1444 
1476 
     | 
    
         
             
              # .inf for any size
         
     | 
| 
       1445 
1477 
     | 
    
         
             
              MaximumRangeSize: .inf
         
     | 
| 
       1446 
1478 
     | 
    
         | 
| 
       1447 
     | 
    
         
            -
            Lint/ 
     | 
| 
       1448 
     | 
    
         
            -
              Description: "Use `&&` operator to compare multiple  
     | 
| 
      
 1479 
     | 
    
         
            +
            Lint/MultipleComparison:
         
     | 
| 
      
 1480 
     | 
    
         
            +
              Description: "Use `&&` operator to compare multiple values."
         
     | 
| 
       1449 
1481 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1450 
1482 
     | 
    
         
             
              VersionAdded: '0.47'
         
     | 
| 
      
 1483 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       1451 
1484 
     | 
    
         | 
| 
       1452 
1485 
     | 
    
         
             
            Lint/NestedMethodDefinition:
         
     | 
| 
       1453 
1486 
     | 
    
         
             
              Description: 'Do not use nested method definitions.'
         
     | 
| 
         @@ -1467,6 +1500,12 @@ Lint/NextWithoutAccumulator: 
     | 
|
| 
       1467 
1500 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1468 
1501 
     | 
    
         
             
              VersionAdded: '0.36'
         
     | 
| 
       1469 
1502 
     | 
    
         | 
| 
      
 1503 
     | 
    
         
            +
            Lint/NonDeterministicRequireOrder:
         
     | 
| 
      
 1504 
     | 
    
         
            +
              Description: 'Always sort arrays returned by Dir.glob when requiring files.'
         
     | 
| 
      
 1505 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1506 
     | 
    
         
            +
              VersionAdded: '0.78'
         
     | 
| 
      
 1507 
     | 
    
         
            +
              Safe: false
         
     | 
| 
      
 1508 
     | 
    
         
            +
             
     | 
| 
       1470 
1509 
     | 
    
         
             
            Lint/NonLocalExitFromIterator:
         
     | 
| 
       1471 
1510 
     | 
    
         
             
              Description: 'Do not use return in iterator to cause non-local exit.'
         
     | 
| 
       1472 
1511 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1512,6 +1551,36 @@ Lint/RandOne: 
     | 
|
| 
       1512 
1551 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1513 
1552 
     | 
    
         
             
              VersionAdded: '0.36'
         
     | 
| 
       1514 
1553 
     | 
    
         | 
| 
      
 1554 
     | 
    
         
            +
            Lint/RedundantCopDisableDirective:
         
     | 
| 
      
 1555 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 1556 
     | 
    
         
            +
                             Checks for rubocop:disable comments that can be removed.
         
     | 
| 
      
 1557 
     | 
    
         
            +
                             Note: this cop is not disabled when disabling all cops.
         
     | 
| 
      
 1558 
     | 
    
         
            +
                             It must be explicitly disabled.
         
     | 
| 
      
 1559 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1560 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 1561 
     | 
    
         
            +
             
     | 
| 
      
 1562 
     | 
    
         
            +
            Lint/RedundantCopEnableDirective:
         
     | 
| 
      
 1563 
     | 
    
         
            +
              Description: Checks for rubocop:enable comments that can be removed.
         
     | 
| 
      
 1564 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1565 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 1566 
     | 
    
         
            +
             
     | 
| 
      
 1567 
     | 
    
         
            +
            Lint/RedundantRequireStatement:
         
     | 
| 
      
 1568 
     | 
    
         
            +
              Description: 'Checks for unnecessary `require` statement.'
         
     | 
| 
      
 1569 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1570 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 1571 
     | 
    
         
            +
             
     | 
| 
      
 1572 
     | 
    
         
            +
            Lint/RedundantSplatExpansion:
         
     | 
| 
      
 1573 
     | 
    
         
            +
              Description: 'Checks for splat unnecessarily being called on literals.'
         
     | 
| 
      
 1574 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1575 
     | 
    
         
            +
              VersionChanged: '0.76'
         
     | 
| 
      
 1576 
     | 
    
         
            +
             
     | 
| 
      
 1577 
     | 
    
         
            +
            Lint/RedundantStringCoercion:
         
     | 
| 
      
 1578 
     | 
    
         
            +
              Description: 'Checks for Object#to_s usage in string interpolation.'
         
     | 
| 
      
 1579 
     | 
    
         
            +
              StyleGuide: '#no-to-s'
         
     | 
| 
      
 1580 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1581 
     | 
    
         
            +
              VersionAdded: '0.19'
         
     | 
| 
      
 1582 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 1583 
     | 
    
         
            +
             
     | 
| 
       1515 
1584 
     | 
    
         
             
            Lint/RedundantWithIndex:
         
     | 
| 
       1516 
1585 
     | 
    
         
             
              Description: 'Checks for redundant `with_index`.'
         
     | 
| 
       1517 
1586 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1557,8 +1626,8 @@ Lint/SafeNavigationChain: 
     | 
|
| 
       1557 
1626 
     | 
    
         
             
              Description: 'Do not chain ordinary method call after safe navigation operator.'
         
     | 
| 
       1558 
1627 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1559 
1628 
     | 
    
         
             
              VersionAdded: '0.47'
         
     | 
| 
       1560 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
       1561 
     | 
    
         
            -
               
     | 
| 
      
 1629 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 1630 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       1562 
1631 
     | 
    
         
             
                - present?
         
     | 
| 
       1563 
1632 
     | 
    
         
             
                - blank?
         
     | 
| 
       1564 
1633 
     | 
    
         
             
                - presence
         
     | 
| 
         @@ -1572,14 +1641,14 @@ Lint/SafeNavigationConsistency: 
     | 
|
| 
       1572 
1641 
     | 
    
         
             
                             for all method calls on that same object.
         
     | 
| 
       1573 
1642 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1574 
1643 
     | 
    
         
             
              VersionAdded: '0.55'
         
     | 
| 
       1575 
     | 
    
         
            -
               
     | 
| 
      
 1644 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 1645 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       1576 
1646 
     | 
    
         
             
                - present?
         
     | 
| 
       1577 
1647 
     | 
    
         
             
                - blank?
         
     | 
| 
       1578 
1648 
     | 
    
         
             
                - presence
         
     | 
| 
       1579 
1649 
     | 
    
         
             
                - try
         
     | 
| 
       1580 
1650 
     | 
    
         
             
                - try!
         
     | 
| 
       1581 
1651 
     | 
    
         | 
| 
       1582 
     | 
    
         
            -
             
     | 
| 
       1583 
1652 
     | 
    
         
             
            Lint/SafeNavigationWithEmpty:
         
     | 
| 
       1584 
1653 
     | 
    
         
             
              Description: 'Avoid `foo&.empty?` in conditionals.'
         
     | 
| 
       1585 
1654 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1591,6 +1660,11 @@ Lint/ScriptPermission: 
     | 
|
| 
       1591 
1660 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       1592 
1661 
     | 
    
         
             
              VersionChanged: '0.50'
         
     | 
| 
       1593 
1662 
     | 
    
         | 
| 
      
 1663 
     | 
    
         
            +
            Lint/SendWithMixinArgument:
         
     | 
| 
      
 1664 
     | 
    
         
            +
              Description: 'Checks for `send` method when using mixin.'
         
     | 
| 
      
 1665 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1666 
     | 
    
         
            +
              VersionAdded: '0.75'
         
     | 
| 
      
 1667 
     | 
    
         
            +
             
     | 
| 
       1594 
1668 
     | 
    
         
             
            Lint/ShadowedArgument:
         
     | 
| 
       1595 
1669 
     | 
    
         
             
              Description: 'Avoid reassigning arguments before they were used.'
         
     | 
| 
       1596 
1670 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1612,12 +1686,13 @@ Lint/ShadowingOuterLocalVariable: 
     | 
|
| 
       1612 
1686 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1613 
1687 
     | 
    
         
             
              VersionAdded: '0.9'
         
     | 
| 
       1614 
1688 
     | 
    
         | 
| 
       1615 
     | 
    
         
            -
            Lint/ 
     | 
| 
       1616 
     | 
    
         
            -
              Description: ' 
     | 
| 
       1617 
     | 
    
         
            -
              StyleGuide: '# 
     | 
| 
      
 1689 
     | 
    
         
            +
            Lint/SuppressedException:
         
     | 
| 
      
 1690 
     | 
    
         
            +
              Description: "Don't suppress exceptions."
         
     | 
| 
      
 1691 
     | 
    
         
            +
              StyleGuide: '#dont-hide-exceptions'
         
     | 
| 
       1618 
1692 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1619 
     | 
    
         
            -
               
     | 
| 
       1620 
     | 
    
         
            -
               
     | 
| 
      
 1693 
     | 
    
         
            +
              AllowComments: false
         
     | 
| 
      
 1694 
     | 
    
         
            +
              VersionAdded: '0.9'
         
     | 
| 
      
 1695 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       1621 
1696 
     | 
    
         | 
| 
       1622 
1697 
     | 
    
         
             
            Lint/Syntax:
         
     | 
| 
       1623 
1698 
     | 
    
         
             
              Description: 'Checks syntax error.'
         
     | 
| 
         @@ -1640,30 +1715,6 @@ Lint/UnifiedInteger: 
     | 
|
| 
       1640 
1715 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1641 
1716 
     | 
    
         
             
              VersionAdded: '0.43'
         
     | 
| 
       1642 
1717 
     | 
    
         | 
| 
       1643 
     | 
    
         
            -
            Lint/UnneededCopDisableDirective:
         
     | 
| 
       1644 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       1645 
     | 
    
         
            -
                             Checks for rubocop:disable comments that can be removed.
         
     | 
| 
       1646 
     | 
    
         
            -
                             Note: this cop is not disabled when disabling all cops.
         
     | 
| 
       1647 
     | 
    
         
            -
                             It must be explicitly disabled.
         
     | 
| 
       1648 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1649 
     | 
    
         
            -
              VersionAdded: '0.53'
         
     | 
| 
       1650 
     | 
    
         
            -
             
     | 
| 
       1651 
     | 
    
         
            -
            Lint/UnneededCopEnableDirective:
         
     | 
| 
       1652 
     | 
    
         
            -
              Description: Checks for rubocop:enable comments that can be removed.
         
     | 
| 
       1653 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1654 
     | 
    
         
            -
              VersionAdded: '0.53'
         
     | 
| 
       1655 
     | 
    
         
            -
             
     | 
| 
       1656 
     | 
    
         
            -
            Lint/UnneededRequireStatement:
         
     | 
| 
       1657 
     | 
    
         
            -
              Description: 'Checks for unnecessary `require` statement.'
         
     | 
| 
       1658 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1659 
     | 
    
         
            -
              VersionAdded: '0.51'
         
     | 
| 
       1660 
     | 
    
         
            -
             
     | 
| 
       1661 
     | 
    
         
            -
            Lint/UnneededSplatExpansion:
         
     | 
| 
       1662 
     | 
    
         
            -
              Description: 'Checks for splat unnecessarily being called on literals.'
         
     | 
| 
       1663 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1664 
     | 
    
         
            -
              VersionAdded: '0.43'
         
     | 
| 
       1665 
     | 
    
         
            -
              VersionChanged: '0.74'
         
     | 
| 
       1666 
     | 
    
         
            -
             
     | 
| 
       1667 
1718 
     | 
    
         
             
            Lint/UnreachableCode:
         
     | 
| 
       1668 
1719 
     | 
    
         
             
              Description: 'Unreachable code.'
         
     | 
| 
       1669 
1720 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -1746,7 +1797,7 @@ Metrics/AbcSize: 
     | 
|
| 
       1746 
1797 
     | 
    
         
             
                             branches, and conditions.
         
     | 
| 
       1747 
1798 
     | 
    
         
             
              Reference:
         
     | 
| 
       1748 
1799 
     | 
    
         
             
                - http://c2.com/cgi/wiki?AbcMetric
         
     | 
| 
       1749 
     | 
    
         
            -
                - https://en.wikipedia.org/wiki/ABC_Software_Metric 
     | 
| 
      
 1800 
     | 
    
         
            +
                - https://en.wikipedia.org/wiki/ABC_Software_Metric
         
     | 
| 
       1750 
1801 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1751 
1802 
     | 
    
         
             
              VersionAdded: '0.27'
         
     | 
| 
       1752 
1803 
     | 
    
         
             
              VersionChanged: '0.66'
         
     | 
| 
         @@ -1793,29 +1844,6 @@ Metrics/CyclomaticComplexity: 
     | 
|
| 
       1793 
1844 
     | 
    
         
             
              VersionAdded: '0.25'
         
     | 
| 
       1794 
1845 
     | 
    
         
             
              Max: 6
         
     | 
| 
       1795 
1846 
     | 
    
         | 
| 
       1796 
     | 
    
         
            -
            Metrics/LineLength:
         
     | 
| 
       1797 
     | 
    
         
            -
              Description: 'Limit lines to 80 characters.'
         
     | 
| 
       1798 
     | 
    
         
            -
              StyleGuide: '#80-character-limits'
         
     | 
| 
       1799 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       1800 
     | 
    
         
            -
              VersionAdded: '0.25'
         
     | 
| 
       1801 
     | 
    
         
            -
              VersionChanged: '0.68'
         
     | 
| 
       1802 
     | 
    
         
            -
              AutoCorrect: false
         
     | 
| 
       1803 
     | 
    
         
            -
              Max: 80
         
     | 
| 
       1804 
     | 
    
         
            -
              # To make it possible to copy or click on URIs in the code, we allow lines
         
     | 
| 
       1805 
     | 
    
         
            -
              # containing a URI to be longer than Max.
         
     | 
| 
       1806 
     | 
    
         
            -
              AllowHeredoc: true
         
     | 
| 
       1807 
     | 
    
         
            -
              AllowURI: true
         
     | 
| 
       1808 
     | 
    
         
            -
              URISchemes:
         
     | 
| 
       1809 
     | 
    
         
            -
                - http
         
     | 
| 
       1810 
     | 
    
         
            -
                - https
         
     | 
| 
       1811 
     | 
    
         
            -
              # The IgnoreCopDirectives option causes the LineLength rule to ignore cop
         
     | 
| 
       1812 
     | 
    
         
            -
              # directives like '# rubocop: enable ...' when calculating a line's length.
         
     | 
| 
       1813 
     | 
    
         
            -
              IgnoreCopDirectives: false
         
     | 
| 
       1814 
     | 
    
         
            -
              # The IgnoredPatterns option is a list of !ruby/regexp and/or string
         
     | 
| 
       1815 
     | 
    
         
            -
              # elements. Strings will be converted to Regexp objects. A line that matches
         
     | 
| 
       1816 
     | 
    
         
            -
              # any regular expression listed in this option will be ignored by LineLength.
         
     | 
| 
       1817 
     | 
    
         
            -
              IgnoredPatterns: []
         
     | 
| 
       1818 
     | 
    
         
            -
             
     | 
| 
       1819 
1847 
     | 
    
         
             
            Metrics/MethodLength:
         
     | 
| 
       1820 
1848 
     | 
    
         
             
              Description: 'Avoid methods longer than 10 lines of code.'
         
     | 
| 
       1821 
1849 
     | 
    
         
             
              StyleGuide: '#short-methods'
         
     | 
| 
         @@ -1849,6 +1877,14 @@ Metrics/PerceivedComplexity: 
     | 
|
| 
       1849 
1877 
     | 
    
         
             
              VersionAdded: '0.25'
         
     | 
| 
       1850 
1878 
     | 
    
         
             
              Max: 7
         
     | 
| 
       1851 
1879 
     | 
    
         | 
| 
      
 1880 
     | 
    
         
            +
            ################## Migration #############################
         
     | 
| 
      
 1881 
     | 
    
         
            +
             
     | 
| 
      
 1882 
     | 
    
         
            +
            Migration/DepartmentName:
         
     | 
| 
      
 1883 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 1884 
     | 
    
         
            +
                             Check that cop names in rubocop:disable (etc) comments are
         
     | 
| 
      
 1885 
     | 
    
         
            +
                             given with department name.
         
     | 
| 
      
 1886 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 1887 
     | 
    
         
            +
             
     | 
| 
       1852 
1888 
     | 
    
         
             
            #################### Naming ##############################
         
     | 
| 
       1853 
1889 
     | 
    
         | 
| 
       1854 
1890 
     | 
    
         
             
            Naming/AccessorMethodName:
         
     | 
| 
         @@ -1869,6 +1905,21 @@ Naming/BinaryOperatorParameterName: 
     | 
|
| 
       1869 
1905 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1870 
1906 
     | 
    
         
             
              VersionAdded: '0.50'
         
     | 
| 
       1871 
1907 
     | 
    
         | 
| 
      
 1908 
     | 
    
         
            +
            Naming/BlockParameterName:
         
     | 
| 
      
 1909 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 1910 
     | 
    
         
            +
                             Checks for block parameter names that contain capital letters,
         
     | 
| 
      
 1911 
     | 
    
         
            +
                             end in numbers, or do not meet a minimal length.
         
     | 
| 
      
 1912 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 1913 
     | 
    
         
            +
              VersionAdded: '0.53'
         
     | 
| 
      
 1914 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 1915 
     | 
    
         
            +
              # Parameter names may be equal to or greater than this value
         
     | 
| 
      
 1916 
     | 
    
         
            +
              MinNameLength: 1
         
     | 
| 
      
 1917 
     | 
    
         
            +
              AllowNamesEndingInNumbers: true
         
     | 
| 
      
 1918 
     | 
    
         
            +
              # Allowed names that will not register an offense
         
     | 
| 
      
 1919 
     | 
    
         
            +
              AllowedNames: []
         
     | 
| 
      
 1920 
     | 
    
         
            +
              # Forbidden names that will register an offense
         
     | 
| 
      
 1921 
     | 
    
         
            +
              ForbiddenNames: []
         
     | 
| 
      
 1922 
     | 
    
         
            +
             
     | 
| 
       1872 
1923 
     | 
    
         
             
            Naming/ClassAndModuleCamelCase:
         
     | 
| 
       1873 
1924 
     | 
    
         
             
              Description: 'Use CamelCase for classes and modules.'
         
     | 
| 
       1874 
1925 
     | 
    
         
             
              StyleGuide: '#camelcase-classes'
         
     | 
| 
         @@ -1960,7 +2011,7 @@ Naming/HeredocDelimiterNaming: 
     | 
|
| 
       1960 
2011 
     | 
    
         
             
              StyleGuide: '#heredoc-delimiters'
         
     | 
| 
       1961 
2012 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1962 
2013 
     | 
    
         
             
              VersionAdded: '0.50'
         
     | 
| 
       1963 
     | 
    
         
            -
               
     | 
| 
      
 2014 
     | 
    
         
            +
              ForbiddenDelimiters:
         
     | 
| 
       1964 
2015 
     | 
    
         
             
                - !ruby/regexp '/(^|\s)(EO[A-Z]{1}|END)(\s|$)/'
         
     | 
| 
       1965 
2016 
     | 
    
         | 
| 
       1966 
2017 
     | 
    
         
             
            Naming/MemoizedInstanceVariableName:
         
     | 
| 
         @@ -1984,26 +2035,58 @@ Naming/MethodName: 
     | 
|
| 
       1984 
2035 
     | 
    
         
             
              SupportedStyles:
         
     | 
| 
       1985 
2036 
     | 
    
         
             
                - snake_case
         
     | 
| 
       1986 
2037 
     | 
    
         
             
                - camelCase
         
     | 
| 
      
 2038 
     | 
    
         
            +
              # Method names matching patterns are always allowed.
         
     | 
| 
      
 2039 
     | 
    
         
            +
              #
         
     | 
| 
      
 2040 
     | 
    
         
            +
              #   IgnoredPatterns:
         
     | 
| 
      
 2041 
     | 
    
         
            +
              #     - '\A\s*onSelectionBulkChange\s*'
         
     | 
| 
      
 2042 
     | 
    
         
            +
              #     - '\A\s*onSelectionCleared\s*'
         
     | 
| 
      
 2043 
     | 
    
         
            +
              #
         
     | 
| 
      
 2044 
     | 
    
         
            +
              IgnoredPatterns: []
         
     | 
| 
      
 2045 
     | 
    
         
            +
             
     | 
| 
      
 2046 
     | 
    
         
            +
            Naming/MethodParameterName:
         
     | 
| 
      
 2047 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 2048 
     | 
    
         
            +
                             Checks for method parameter names that contain capital letters,
         
     | 
| 
      
 2049 
     | 
    
         
            +
                             end in numbers, or do not meet a minimal length.
         
     | 
| 
      
 2050 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 2051 
     | 
    
         
            +
              VersionAdded: '0.53'
         
     | 
| 
      
 2052 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 2053 
     | 
    
         
            +
              # Parameter names may be equal to or greater than this value
         
     | 
| 
      
 2054 
     | 
    
         
            +
              MinNameLength: 3
         
     | 
| 
      
 2055 
     | 
    
         
            +
              AllowNamesEndingInNumbers: true
         
     | 
| 
      
 2056 
     | 
    
         
            +
              # Allowed names that will not register an offense
         
     | 
| 
      
 2057 
     | 
    
         
            +
              AllowedNames:
         
     | 
| 
      
 2058 
     | 
    
         
            +
                - io
         
     | 
| 
      
 2059 
     | 
    
         
            +
                - id
         
     | 
| 
      
 2060 
     | 
    
         
            +
                - to
         
     | 
| 
      
 2061 
     | 
    
         
            +
                - by
         
     | 
| 
      
 2062 
     | 
    
         
            +
                - 'on'
         
     | 
| 
      
 2063 
     | 
    
         
            +
                - in
         
     | 
| 
      
 2064 
     | 
    
         
            +
                - at
         
     | 
| 
      
 2065 
     | 
    
         
            +
                - ip
         
     | 
| 
      
 2066 
     | 
    
         
            +
                - db
         
     | 
| 
      
 2067 
     | 
    
         
            +
                - os
         
     | 
| 
      
 2068 
     | 
    
         
            +
              # Forbidden names that will register an offense
         
     | 
| 
      
 2069 
     | 
    
         
            +
              ForbiddenNames: []
         
     | 
| 
       1987 
2070 
     | 
    
         | 
| 
       1988 
2071 
     | 
    
         
             
            Naming/PredicateName:
         
     | 
| 
       1989 
2072 
     | 
    
         
             
              Description: 'Check the names of predicate methods.'
         
     | 
| 
       1990 
2073 
     | 
    
         
             
              StyleGuide: '#bool-methods-qmark'
         
     | 
| 
       1991 
2074 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       1992 
2075 
     | 
    
         
             
              VersionAdded: '0.50'
         
     | 
| 
       1993 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 2076 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       1994 
2077 
     | 
    
         
             
              # Predicate name prefixes.
         
     | 
| 
       1995 
2078 
     | 
    
         
             
              NamePrefix:
         
     | 
| 
       1996 
2079 
     | 
    
         
             
                - is_
         
     | 
| 
       1997 
2080 
     | 
    
         
             
                - has_
         
     | 
| 
       1998 
2081 
     | 
    
         
             
                - have_
         
     | 
| 
       1999 
2082 
     | 
    
         
             
              # Predicate name prefixes that should be removed.
         
     | 
| 
       2000 
     | 
    
         
            -
               
     | 
| 
      
 2083 
     | 
    
         
            +
              ForbiddenPrefixes:
         
     | 
| 
       2001 
2084 
     | 
    
         
             
                - is_
         
     | 
| 
       2002 
2085 
     | 
    
         
             
                - has_
         
     | 
| 
       2003 
2086 
     | 
    
         
             
                - have_
         
     | 
| 
       2004 
     | 
    
         
            -
              # Predicate names which, despite having a  
     | 
| 
      
 2087 
     | 
    
         
            +
              # Predicate names which, despite having a forbidden prefix, or no `?`,
         
     | 
| 
       2005 
2088 
     | 
    
         
             
              # should still be accepted
         
     | 
| 
       2006 
     | 
    
         
            -
               
     | 
| 
      
 2089 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       2007 
2090 
     | 
    
         
             
                - is_a?
         
     | 
| 
       2008 
2091 
     | 
    
         
             
              # Method definition macros for dynamically generated methods.
         
     | 
| 
       2009 
2092 
     | 
    
         
             
              MethodDefinitionMacros:
         
     | 
| 
         @@ -2021,45 +2104,6 @@ Naming/RescuedExceptionsVariableName: 
     | 
|
| 
       2021 
2104 
     | 
    
         
             
              VersionChanged: '0.68'
         
     | 
| 
       2022 
2105 
     | 
    
         
             
              PreferredName: e
         
     | 
| 
       2023 
2106 
     | 
    
         | 
| 
       2024 
     | 
    
         
            -
            Naming/UncommunicativeBlockParamName:
         
     | 
| 
       2025 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       2026 
     | 
    
         
            -
                            Checks for block parameter names that contain capital letters,
         
     | 
| 
       2027 
     | 
    
         
            -
                            end in numbers, or do not meet a minimal length.
         
     | 
| 
       2028 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       2029 
     | 
    
         
            -
              VersionAdded: '0.53'
         
     | 
| 
       2030 
     | 
    
         
            -
              # Parameter names may be equal to or greater than this value
         
     | 
| 
       2031 
     | 
    
         
            -
              MinNameLength: 1
         
     | 
| 
       2032 
     | 
    
         
            -
              AllowNamesEndingInNumbers: true
         
     | 
| 
       2033 
     | 
    
         
            -
              # Whitelisted names that will not register an offense
         
     | 
| 
       2034 
     | 
    
         
            -
              AllowedNames: []
         
     | 
| 
       2035 
     | 
    
         
            -
              # Blacklisted names that will register an offense
         
     | 
| 
       2036 
     | 
    
         
            -
              ForbiddenNames: []
         
     | 
| 
       2037 
     | 
    
         
            -
             
     | 
| 
       2038 
     | 
    
         
            -
            Naming/UncommunicativeMethodParamName:
         
     | 
| 
       2039 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       2040 
     | 
    
         
            -
                            Checks for method parameter names that contain capital letters,
         
     | 
| 
       2041 
     | 
    
         
            -
                            end in numbers, or do not meet a minimal length.
         
     | 
| 
       2042 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       2043 
     | 
    
         
            -
              VersionAdded: '0.53'
         
     | 
| 
       2044 
     | 
    
         
            -
              VersionChanged: '0.59'
         
     | 
| 
       2045 
     | 
    
         
            -
              # Parameter names may be equal to or greater than this value
         
     | 
| 
       2046 
     | 
    
         
            -
              MinNameLength: 3
         
     | 
| 
       2047 
     | 
    
         
            -
              AllowNamesEndingInNumbers: true
         
     | 
| 
       2048 
     | 
    
         
            -
              # Whitelisted names that will not register an offense
         
     | 
| 
       2049 
     | 
    
         
            -
              AllowedNames:
         
     | 
| 
       2050 
     | 
    
         
            -
                - io
         
     | 
| 
       2051 
     | 
    
         
            -
                - id
         
     | 
| 
       2052 
     | 
    
         
            -
                - to
         
     | 
| 
       2053 
     | 
    
         
            -
                - by
         
     | 
| 
       2054 
     | 
    
         
            -
                - 'on'
         
     | 
| 
       2055 
     | 
    
         
            -
                - in
         
     | 
| 
       2056 
     | 
    
         
            -
                - at
         
     | 
| 
       2057 
     | 
    
         
            -
                - ip
         
     | 
| 
       2058 
     | 
    
         
            -
                - db
         
     | 
| 
       2059 
     | 
    
         
            -
              # Blacklisted names that will register an offense
         
     | 
| 
       2060 
     | 
    
         
            -
              ForbiddenNames: []
         
     | 
| 
       2061 
     | 
    
         
            -
             
     | 
| 
       2062 
     | 
    
         
            -
             
     | 
| 
       2063 
2107 
     | 
    
         
             
            Naming/VariableName:
         
     | 
| 
       2064 
2108 
     | 
    
         
             
              Description: 'Use the configured style when naming variables.'
         
     | 
| 
       2065 
2109 
     | 
    
         
             
              StyleGuide: '#snake-case-symbols-methods-vars'
         
     | 
| 
         @@ -2706,7 +2750,7 @@ Style/FormatStringToken: 
     | 
|
| 
       2706 
2750 
     | 
    
         
             
                - template
         
     | 
| 
       2707 
2751 
     | 
    
         
             
                - unannotated
         
     | 
| 
       2708 
2752 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       2709 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 2753 
     | 
    
         
            +
              VersionChanged: '0.75'
         
     | 
| 
       2710 
2754 
     | 
    
         | 
| 
       2711 
2755 
     | 
    
         
             
            Style/FrozenStringLiteralComment:
         
     | 
| 
       2712 
2756 
     | 
    
         
             
              Description: >-
         
     | 
| 
         @@ -2854,8 +2898,9 @@ Style/IpAddresses: 
     | 
|
| 
       2854 
2898 
     | 
    
         
             
              Description: "Don't include literal IP addresses in code."
         
     | 
| 
       2855 
2899 
     | 
    
         
             
              Enabled: false
         
     | 
| 
       2856 
2900 
     | 
    
         
             
              VersionAdded: '0.58'
         
     | 
| 
       2857 
     | 
    
         
            -
               
     | 
| 
       2858 
     | 
    
         
            -
               
     | 
| 
      
 2901 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 2902 
     | 
    
         
            +
              # Allow addresses to be permitted
         
     | 
| 
      
 2903 
     | 
    
         
            +
              AllowedAddresses:
         
     | 
| 
       2859 
2904 
     | 
    
         
             
                - "::"
         
     | 
| 
       2860 
2905 
     | 
    
         
             
                # :: is a valid IPv6 address, but could potentially be legitimately in code
         
     | 
| 
       2861 
2906 
     | 
    
         | 
| 
         @@ -2899,6 +2944,7 @@ Style/MethodCallWithArgsParentheses: 
     | 
|
| 
       2899 
2944 
     | 
    
         
             
              VersionChanged: '0.61'
         
     | 
| 
       2900 
2945 
     | 
    
         
             
              IgnoreMacros: true
         
     | 
| 
       2901 
2946 
     | 
    
         
             
              IgnoredMethods: []
         
     | 
| 
      
 2947 
     | 
    
         
            +
              IgnoredPatterns: []
         
     | 
| 
       2902 
2948 
     | 
    
         
             
              IncludedMacros: []
         
     | 
| 
       2903 
2949 
     | 
    
         
             
              AllowParenthesesInMultilineCall: false
         
     | 
| 
       2904 
2950 
     | 
    
         
             
              AllowParenthesesInChaining: false
         
     | 
| 
         @@ -3127,8 +3173,8 @@ Style/NestedParenthesizedCalls: 
     | 
|
| 
       3127 
3173 
     | 
    
         
             
                             argument list of another parenthesized method call.
         
     | 
| 
       3128 
3174 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       3129 
3175 
     | 
    
         
             
              VersionAdded: '0.36'
         
     | 
| 
       3130 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
       3131 
     | 
    
         
            -
               
     | 
| 
      
 3176 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
      
 3177 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       3132 
3178 
     | 
    
         
             
                - be
         
     | 
| 
       3133 
3179 
     | 
    
         
             
                - be_a
         
     | 
| 
       3134 
3180 
     | 
    
         
             
                - be_an
         
     | 
| 
         @@ -3381,6 +3427,16 @@ Style/RedundantBegin: 
     | 
|
| 
       3381 
3427 
     | 
    
         
             
              VersionAdded: '0.10'
         
     | 
| 
       3382 
3428 
     | 
    
         
             
              VersionChanged: '0.21'
         
     | 
| 
       3383 
3429 
     | 
    
         | 
| 
      
 3430 
     | 
    
         
            +
            Style/RedundantCapitalW:
         
     | 
| 
      
 3431 
     | 
    
         
            +
              Description: 'Checks for %W when interpolation is not needed.'
         
     | 
| 
      
 3432 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 3433 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 3434 
     | 
    
         
            +
             
     | 
| 
      
 3435 
     | 
    
         
            +
            Style/RedundantCondition:
         
     | 
| 
      
 3436 
     | 
    
         
            +
              Description: 'Checks for unnecessary conditional expressions.'
         
     | 
| 
      
 3437 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 3438 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 3439 
     | 
    
         
            +
             
     | 
| 
       3384 
3440 
     | 
    
         
             
            Style/RedundantConditional:
         
     | 
| 
       3385 
3441 
     | 
    
         
             
              Description: "Don't return true/false from a conditional."
         
     | 
| 
       3386 
3442 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -3399,11 +3455,22 @@ Style/RedundantFreeze: 
     | 
|
| 
       3399 
3455 
     | 
    
         
             
              VersionAdded: '0.34'
         
     | 
| 
       3400 
3456 
     | 
    
         
             
              VersionChanged: '0.66'
         
     | 
| 
       3401 
3457 
     | 
    
         | 
| 
      
 3458 
     | 
    
         
            +
            Style/RedundantInterpolation:
         
     | 
| 
      
 3459 
     | 
    
         
            +
              Description: 'Checks for strings that are just an interpolated expression.'
         
     | 
| 
      
 3460 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 3461 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 3462 
     | 
    
         
            +
             
     | 
| 
       3402 
3463 
     | 
    
         
             
            Style/RedundantParentheses:
         
     | 
| 
       3403 
3464 
     | 
    
         
             
              Description: "Checks for parentheses that seem not to serve any purpose."
         
     | 
| 
       3404 
3465 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       3405 
3466 
     | 
    
         
             
              VersionAdded: '0.36'
         
     | 
| 
       3406 
3467 
     | 
    
         | 
| 
      
 3468 
     | 
    
         
            +
            Style/RedundantPercentQ:
         
     | 
| 
      
 3469 
     | 
    
         
            +
              Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
         
     | 
| 
      
 3470 
     | 
    
         
            +
              StyleGuide: '#percent-q'
         
     | 
| 
      
 3471 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 3472 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 3473 
     | 
    
         
            +
             
     | 
| 
       3407 
3474 
     | 
    
         
             
            Style/RedundantReturn:
         
     | 
| 
       3408 
3475 
     | 
    
         
             
              Description: "Don't use return where it's not required."
         
     | 
| 
       3409 
3476 
     | 
    
         
             
              StyleGuide: '#no-explicit-return'
         
     | 
| 
         @@ -3420,6 +3487,13 @@ Style/RedundantSelf: 
     | 
|
| 
       3420 
3487 
     | 
    
         
             
              VersionAdded: '0.10'
         
     | 
| 
       3421 
3488 
     | 
    
         
             
              VersionChanged: '0.13'
         
     | 
| 
       3422 
3489 
     | 
    
         | 
| 
      
 3490 
     | 
    
         
            +
            Style/RedundantSort:
         
     | 
| 
      
 3491 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 3492 
     | 
    
         
            +
                              Use `min` instead of `sort.first`,
         
     | 
| 
      
 3493 
     | 
    
         
            +
                              `max_by` instead of `sort_by...last`, etc.
         
     | 
| 
      
 3494 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 3495 
     | 
    
         
            +
              VersionAdded: '0.76'
         
     | 
| 
      
 3496 
     | 
    
         
            +
             
     | 
| 
       3423 
3497 
     | 
    
         
             
            Style/RedundantSortBy:
         
     | 
| 
       3424 
3498 
     | 
    
         
             
              Description: 'Use `sort` instead of `sort_by { |x| x }`.'
         
     | 
| 
       3425 
3499 
     | 
    
         
             
              Enabled: true
         
     | 
| 
         @@ -3477,11 +3551,11 @@ Style/SafeNavigation: 
     | 
|
| 
       3477 
3551 
     | 
    
         
             
                              safe navigation (`&.`).
         
     | 
| 
       3478 
3552 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       3479 
3553 
     | 
    
         
             
              VersionAdded: '0.43'
         
     | 
| 
       3480 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 3554 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       3481 
3555 
     | 
    
         
             
              # Safe navigation may cause a statement to start returning `nil` in addition
         
     | 
| 
       3482 
3556 
     | 
    
         
             
              # to whatever it used to return.
         
     | 
| 
       3483 
3557 
     | 
    
         
             
              ConvertCodeThatCanStartToReturnNil: false
         
     | 
| 
       3484 
     | 
    
         
            -
               
     | 
| 
      
 3558 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       3485 
3559 
     | 
    
         
             
                - present?
         
     | 
| 
       3486 
3560 
     | 
    
         
             
                - blank?
         
     | 
| 
       3487 
3561 
     | 
    
         
             
                - presence
         
     | 
| 
         @@ -3586,6 +3660,8 @@ Style/StringHashKeys: 
     | 
|
| 
       3586 
3660 
     | 
    
         
             
              StyleGuide: '#symbols-as-keys'
         
     | 
| 
       3587 
3661 
     | 
    
         
             
              Enabled: false
         
     | 
| 
       3588 
3662 
     | 
    
         
             
              VersionAdded: '0.52'
         
     | 
| 
      
 3663 
     | 
    
         
            +
              VersionChanged: '0.75'
         
     | 
| 
      
 3664 
     | 
    
         
            +
              Safe: false
         
     | 
| 
       3589 
3665 
     | 
    
         | 
| 
       3590 
3666 
     | 
    
         
             
            Style/StringLiterals:
         
     | 
| 
       3591 
3667 
     | 
    
         
             
              Description: 'Checks if uses of quotes match the configured preference.'
         
     | 
| 
         @@ -3757,7 +3833,7 @@ Style/TrivialAccessors: 
     | 
|
| 
       3757 
3833 
     | 
    
         
             
              StyleGuide: '#attr_family'
         
     | 
| 
       3758 
3834 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       3759 
3835 
     | 
    
         
             
              VersionAdded: '0.9'
         
     | 
| 
       3760 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 3836 
     | 
    
         
            +
              VersionChanged: '0.77'
         
     | 
| 
       3761 
3837 
     | 
    
         
             
              # When set to `false` the cop will suggest the use of accessor methods
         
     | 
| 
       3762 
3838 
     | 
    
         
             
              # in situations like:
         
     | 
| 
       3763 
3839 
     | 
    
         
             
              #
         
     | 
| 
         @@ -3778,7 +3854,7 @@ Style/TrivialAccessors: 
     | 
|
| 
       3778 
3854 
     | 
    
         
             
              # Commonly used in DSLs
         
     | 
| 
       3779 
3855 
     | 
    
         
             
              AllowDSLWriters: false
         
     | 
| 
       3780 
3856 
     | 
    
         
             
              IgnoreClassMethods: false
         
     | 
| 
       3781 
     | 
    
         
            -
               
     | 
| 
      
 3857 
     | 
    
         
            +
              AllowedMethods:
         
     | 
| 
       3782 
3858 
     | 
    
         
             
                - to_ary
         
     | 
| 
       3783 
3859 
     | 
    
         
             
                - to_a
         
     | 
| 
       3784 
3860 
     | 
    
         
             
                - to_c
         
     | 
| 
         @@ -3805,35 +3881,6 @@ Style/UnlessElse: 
     | 
|
| 
       3805 
3881 
     | 
    
         
             
              Enabled: true
         
     | 
| 
       3806 
3882 
     | 
    
         
             
              VersionAdded: '0.9'
         
     | 
| 
       3807 
3883 
     | 
    
         | 
| 
       3808 
     | 
    
         
            -
            Style/UnneededCapitalW:
         
     | 
| 
       3809 
     | 
    
         
            -
              Description: 'Checks for %W when interpolation is not needed.'
         
     | 
| 
       3810 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       3811 
     | 
    
         
            -
              VersionAdded: '0.21'
         
     | 
| 
       3812 
     | 
    
         
            -
              VersionChanged: '0.24'
         
     | 
| 
       3813 
     | 
    
         
            -
             
     | 
| 
       3814 
     | 
    
         
            -
            Style/UnneededCondition:
         
     | 
| 
       3815 
     | 
    
         
            -
              Description: 'Checks for unnecessary conditional expressions.'
         
     | 
| 
       3816 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       3817 
     | 
    
         
            -
              VersionAdded: '0.57'
         
     | 
| 
       3818 
     | 
    
         
            -
             
     | 
| 
       3819 
     | 
    
         
            -
            Style/UnneededInterpolation:
         
     | 
| 
       3820 
     | 
    
         
            -
              Description: 'Checks for strings that are just an interpolated expression.'
         
     | 
| 
       3821 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       3822 
     | 
    
         
            -
              VersionAdded: '0.36'
         
     | 
| 
       3823 
     | 
    
         
            -
             
     | 
| 
       3824 
     | 
    
         
            -
            Style/UnneededPercentQ:
         
     | 
| 
       3825 
     | 
    
         
            -
              Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
         
     | 
| 
       3826 
     | 
    
         
            -
              StyleGuide: '#percent-q'
         
     | 
| 
       3827 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       3828 
     | 
    
         
            -
              VersionAdded: '0.24'
         
     | 
| 
       3829 
     | 
    
         
            -
             
     | 
| 
       3830 
     | 
    
         
            -
            Style/UnneededSort:
         
     | 
| 
       3831 
     | 
    
         
            -
              Description: >-
         
     | 
| 
       3832 
     | 
    
         
            -
                              Use `min` instead of `sort.first`,
         
     | 
| 
       3833 
     | 
    
         
            -
                              `max_by` instead of `sort_by...last`, etc.
         
     | 
| 
       3834 
     | 
    
         
            -
              Enabled: true
         
     | 
| 
       3835 
     | 
    
         
            -
              VersionAdded: '0.55'
         
     | 
| 
       3836 
     | 
    
         
            -
             
     | 
| 
       3837 
3884 
     | 
    
         
             
            Style/UnpackFirst:
         
     | 
| 
       3838 
3885 
     | 
    
         
             
              Description: >-
         
     | 
| 
       3839 
3886 
     | 
    
         
             
                             Checks for accessing the first element of `String#unpack`
         
     | 
| 
         @@ -3904,8 +3951,9 @@ Style/YodaCondition: 
     | 
|
| 
       3904 
3951 
     | 
    
         
             
                - require_for_all_comparison_operators
         
     | 
| 
       3905 
3952 
     | 
    
         
             
                # enforce yoda only for equality operators: `!=` and `==`
         
     | 
| 
       3906 
3953 
     | 
    
         
             
                - require_for_equality_operators_only
         
     | 
| 
      
 3954 
     | 
    
         
            +
              Safe: false
         
     | 
| 
       3907 
3955 
     | 
    
         
             
              VersionAdded: '0.49'
         
     | 
| 
       3908 
     | 
    
         
            -
              VersionChanged: '0. 
     | 
| 
      
 3956 
     | 
    
         
            +
              VersionChanged: '0.75'
         
     | 
| 
       3909 
3957 
     | 
    
         | 
| 
       3910 
3958 
     | 
    
         
             
            Style/ZeroLengthPredicate:
         
     | 
| 
       3911 
3959 
     | 
    
         
             
              Description: 'Use #empty? when testing for objects of length 0.'
         
     |