rubocop 1.26.1 → 1.32.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 +6 -4
- data/config/default.yml +170 -31
- data/config/obsoletion.yml +12 -1
- data/exe/rubocop +15 -7
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +19 -4
- data/lib/rubocop/cli/command/execute_runner.rb +1 -1
- data/lib/rubocop/cli/command/show_cops.rb +1 -1
- data/lib/rubocop/cli/command/suggest_extensions.rb +4 -4
- data/lib/rubocop/cli.rb +2 -0
- data/lib/rubocop/config.rb +5 -1
- data/lib/rubocop/config_loader.rb +3 -1
- data/lib/rubocop/config_loader_resolver.rb +1 -1
- data/lib/rubocop/config_obsoletion/extracted_cop.rb +3 -1
- data/lib/rubocop/config_validator.rb +21 -4
- data/lib/rubocop/cop/autocorrect_logic.rb +8 -2
- data/lib/rubocop/cop/badge.rb +1 -1
- data/lib/rubocop/cop/base.rb +6 -2
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +3 -7
- data/lib/rubocop/cop/bundler/gem_comment.rb +1 -1
- data/lib/rubocop/cop/bundler/gem_filename.rb +5 -5
- data/lib/rubocop/cop/bundler/ordered_gems.rb +2 -2
- data/lib/rubocop/cop/corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/condition_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/empty_line_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +4 -2
- data/lib/rubocop/cop/correctors/if_then_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +7 -1
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +3 -3
- data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/parentheses_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/punctuation_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/space_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/string_literal_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +2 -2
- data/lib/rubocop/cop/gemspec/dependency_version.rb +156 -0
- data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +92 -0
- data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +5 -12
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
- data/lib/rubocop/cop/gemspec/require_mfa.rb +20 -20
- data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +1 -1
- data/lib/rubocop/cop/generator.rb +5 -1
- data/lib/rubocop/cop/internal_affairs/cop_description.rb +96 -0
- data/lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/method_name_end_with.rb +80 -0
- data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +1 -5
- data/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb +60 -0
- data/lib/rubocop/cop/internal_affairs.rb +3 -0
- data/lib/rubocop/cop/layout/argument_alignment.rb +22 -1
- data/lib/rubocop/cop/layout/assignment_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/block_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/block_end_newline.rb +1 -1
- data/lib/rubocop/cop/layout/case_indentation.rb +17 -1
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/comment_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/condition_position.rb +1 -1
- data/lib/rubocop/cop/layout/def_end_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/dot_position.rb +1 -1
- data/lib/rubocop/cop/layout/else_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/empty_comment.rb +2 -2
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +25 -4
- data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +5 -5
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +10 -10
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +10 -10
- data/lib/rubocop/cop/layout/end_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
- data/lib/rubocop/cop/layout/extra_spacing.rb +1 -1
- data/lib/rubocop/cop/layout/first_argument_indentation.rb +28 -28
- data/lib/rubocop/cop/layout/first_array_element_indentation.rb +21 -14
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +52 -13
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_parameter_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/hash_alignment.rb +2 -0
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +1 -1
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/indentation_consistency.rb +1 -1
- data/lib/rubocop/cop/layout/indentation_style.rb +1 -1
- data/lib/rubocop/cop/layout/indentation_width.rb +11 -9
- data/lib/rubocop/cop/layout/initial_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
- data/lib/rubocop/cop/layout/leading_empty_lines.rb +1 -1
- data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +112 -0
- data/lib/rubocop/cop/layout/line_continuation_spacing.rb +130 -0
- data/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/line_length.rb +7 -5
- data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +2 -2
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +5 -2
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +22 -5
- data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +45 -0
- data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +3 -3
- data/lib/rubocop/cop/layout/redundant_line_break.rb +4 -5
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/single_line_block_chain.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_not.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +2 -2
- data/lib/rubocop/cop/layout/space_around_operators.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +3 -3
- data/lib/rubocop/cop/layout/space_before_brackets.rb +7 -0
- data/lib/rubocop/cop/layout/space_before_comment.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +1 -1
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +10 -10
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +8 -6
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +1 -1
- data/lib/rubocop/cop/layout/trailing_empty_lines.rb +9 -9
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +3 -3
- data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +10 -2
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +7 -7
- data/lib/rubocop/cop/lint/ambiguous_operator_precedence.rb +1 -1
- data/lib/rubocop/cop/lint/ambiguous_range.rb +5 -5
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +1 -1
- data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -1
- data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
- data/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +51 -0
- data/lib/rubocop/cop/lint/debugger.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +11 -5
- data/lib/rubocop/cop/lint/deprecated_constants.rb +1 -1
- data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_require.rb +11 -2
- data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/else_layout.rb +3 -3
- data/lib/rubocop/cop/lint/empty_block.rb +1 -1
- data/lib/rubocop/cop/lint/empty_class.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +4 -2
- data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
- data/lib/rubocop/cop/lint/empty_expression.rb +1 -1
- data/lib/rubocop/cop/lint/empty_file.rb +1 -1
- data/lib/rubocop/cop/lint/empty_in_pattern.rb +4 -2
- data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/empty_when.rb +4 -2
- data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +1 -1
- data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
- data/lib/rubocop/cop/lint/float_comparison.rb +1 -1
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -1
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -1
- data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +11 -4
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/inherit_exception.rb +1 -1
- data/lib/rubocop/cop/lint/interpolation_check.rb +2 -2
- data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +10 -3
- data/lib/rubocop/cop/lint/literal_as_condition.rb +6 -1
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/loop.rb +2 -2
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +1 -1
- data/lib/rubocop/cop/lint/missing_super.rb +1 -1
- data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -1
- data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +157 -0
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +5 -5
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +1 -1
- data/lib/rubocop/cop/lint/number_conversion.rb +11 -5
- data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +2 -3
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +2 -2
- data/lib/rubocop/cop/lint/percent_string_array.rb +1 -1
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -1
- data/lib/rubocop/cop/lint/raise_exception.rb +2 -2
- data/lib/rubocop/cop/lint/rand_one.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +6 -6
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +4 -1
- data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +10 -3
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
- data/lib/rubocop/cop/lint/refinement_import_methods.rb +51 -0
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +3 -3
- data/lib/rubocop/cop/lint/require_parentheses.rb +1 -1
- data/lib/rubocop/cop/lint/require_range_parentheses.rb +57 -0
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/return_in_void_context.rb +6 -18
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +38 -1
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +1 -1
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -1
- data/lib/rubocop/cop/lint/script_permission.rb +1 -1
- data/lib/rubocop/cop/lint/self_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/shadowed_argument.rb +1 -1
- data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -1
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +11 -1
- data/lib/rubocop/cop/lint/struct_new_override.rb +3 -3
- data/lib/rubocop/cop/lint/suppressed_exception.rb +1 -1
- data/lib/rubocop/cop/lint/symbol_conversion.rb +1 -1
- data/lib/rubocop/cop/lint/syntax.rb +2 -3
- data/lib/rubocop/cop/lint/to_enum_arguments.rb +1 -1
- data/lib/rubocop/cop/lint/to_json.rb +1 -1
- data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +1 -1
- data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +2 -2
- data/lib/rubocop/cop/lint/triple_quotes.rb +1 -1
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -1
- data/lib/rubocop/cop/lint/unexpected_block_arity.rb +1 -1
- data/lib/rubocop/cop/lint/unified_integer.rb +3 -1
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_loop.rb +5 -5
- data/lib/rubocop/cop/lint/unused_block_argument.rb +1 -1
- data/lib/rubocop/cop/lint/unused_method_argument.rb +2 -2
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
- data/lib/rubocop/cop/lint/uri_regexp.rb +1 -1
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/useless_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +2 -3
- data/lib/rubocop/cop/lint/useless_method_definition.rb +1 -1
- data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +1 -1
- data/lib/rubocop/cop/lint/useless_setter_call.rb +2 -2
- data/lib/rubocop/cop/lint/useless_times.rb +2 -2
- data/lib/rubocop/cop/lint/void.rb +1 -1
- data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
- data/lib/rubocop/cop/metrics/block_length.rb +2 -1
- data/lib/rubocop/cop/metrics/block_nesting.rb +1 -1
- data/lib/rubocop/cop/metrics/class_length.rb +1 -1
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -1
- data/lib/rubocop/cop/metrics/method_length.rb +2 -1
- data/lib/rubocop/cop/metrics/module_length.rb +1 -1
- data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -1
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +2 -3
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +22 -3
- data/lib/rubocop/cop/mixin/allowed_pattern.rb +40 -0
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +4 -0
- data/lib/rubocop/cop/mixin/comments_help.rb +24 -2
- data/lib/rubocop/cop/mixin/def_node.rb +2 -7
- data/lib/rubocop/cop/mixin/duplication.rb +1 -1
- data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +8 -4
- data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +34 -12
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +1 -2
- data/lib/rubocop/cop/mixin/percent_array.rb +60 -1
- data/lib/rubocop/cop/mixin/preferred_delimiters.rb +2 -2
- data/lib/rubocop/cop/mixin/range_help.rb +7 -3
- data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -1
- data/lib/rubocop/cop/mixin/string_help.rb +1 -1
- data/lib/rubocop/cop/mixin/surrounding_space.rb +4 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -1
- data/lib/rubocop/cop/naming/accessor_method_name.rb +4 -2
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -1
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/block_forwarding.rb +4 -4
- data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +1 -1
- data/lib/rubocop/cop/naming/constant_name.rb +1 -1
- data/lib/rubocop/cop/naming/file_name.rb +2 -2
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +1 -1
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +1 -1
- data/lib/rubocop/cop/naming/inclusive_language.rb +3 -2
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
- data/lib/rubocop/cop/naming/method_name.rb +6 -6
- data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +11 -3
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +1 -1
- data/lib/rubocop/cop/naming/variable_name.rb +10 -1
- data/lib/rubocop/cop/naming/variable_number.rb +28 -18
- data/lib/rubocop/cop/offense.rb +1 -1
- data/lib/rubocop/cop/security/compound_hash.rb +105 -0
- data/lib/rubocop/cop/security/eval.rb +1 -1
- data/lib/rubocop/cop/security/json_load.rb +1 -1
- data/lib/rubocop/cop/security/marshal_load.rb +1 -1
- data/lib/rubocop/cop/security/open.rb +1 -1
- data/lib/rubocop/cop/security/yaml_load.rb +2 -2
- data/lib/rubocop/cop/style/accessor_grouping.rb +4 -4
- data/lib/rubocop/cop/style/alias.rb +4 -4
- data/lib/rubocop/cop/style/and_or.rb +12 -12
- data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -1
- data/lib/rubocop/cop/style/array_coercion.rb +1 -1
- data/lib/rubocop/cop/style/array_join.rb +1 -1
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
- data/lib/rubocop/cop/style/attr.rb +1 -1
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +1 -1
- data/lib/rubocop/cop/style/bare_percent_literals.rb +1 -1
- data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -1
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +1 -1
- data/lib/rubocop/cop/style/block_comments.rb +1 -1
- data/lib/rubocop/cop/style/block_delimiters.rb +9 -2
- data/lib/rubocop/cop/style/case_equality.rb +1 -1
- data/lib/rubocop/cop/style/case_like_if.rb +2 -2
- data/lib/rubocop/cop/style/character_literal.rb +1 -1
- data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
- data/lib/rubocop/cop/style/class_check.rb +1 -1
- data/lib/rubocop/cop/style/class_equality_comparison.rb +23 -1
- data/lib/rubocop/cop/style/class_methods.rb +1 -1
- data/lib/rubocop/cop/style/class_methods_definitions.rb +1 -1
- data/lib/rubocop/cop/style/class_vars.rb +1 -1
- data/lib/rubocop/cop/style/collection_compact.rb +4 -4
- data/lib/rubocop/cop/style/collection_methods.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_definition.rb +1 -1
- data/lib/rubocop/cop/style/combinable_loops.rb +1 -1
- data/lib/rubocop/cop/style/command_literal.rb +1 -1
- data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
- data/lib/rubocop/cop/style/commented_keyword.rb +4 -4
- data/lib/rubocop/cop/style/conditional_assignment.rb +2 -1
- data/lib/rubocop/cop/style/constant_visibility.rb +1 -1
- data/lib/rubocop/cop/style/date_time.rb +2 -2
- data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/dir.rb +4 -1
- data/lib/rubocop/cop/style/documentation.rb +1 -1
- data/lib/rubocop/cop/style/documentation_method.rb +1 -1
- data/lib/rubocop/cop/style/double_negation.rb +60 -3
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
- data/lib/rubocop/cop/style/each_with_object.rb +1 -1
- data/lib/rubocop/cop/style/empty_block_parameter.rb +1 -1
- data/lib/rubocop/cop/style/empty_case_condition.rb +3 -4
- data/lib/rubocop/cop/style/empty_else.rb +40 -3
- data/lib/rubocop/cop/style/empty_heredoc.rb +59 -0
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -1
- data/lib/rubocop/cop/style/empty_literal.rb +2 -2
- data/lib/rubocop/cop/style/empty_method.rb +17 -2
- data/lib/rubocop/cop/style/encoding.rb +2 -2
- data/lib/rubocop/cop/style/end_block.rb +1 -1
- data/lib/rubocop/cop/style/endless_method.rb +1 -1
- data/lib/rubocop/cop/style/env_home.rb +56 -0
- 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/explicit_block_argument.rb +2 -2
- data/lib/rubocop/cop/style/exponential_notation.rb +1 -1
- data/lib/rubocop/cop/style/fetch_env_var.rb +132 -0
- data/lib/rubocop/cop/style/file_write.rb +12 -0
- data/lib/rubocop/cop/style/float_division.rb +1 -1
- data/lib/rubocop/cop/style/for.rb +1 -1
- data/lib/rubocop/cop/style/format_string.rb +1 -1
- data/lib/rubocop/cop/style/format_string_token.rb +54 -17
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +6 -3
- data/lib/rubocop/cop/style/global_std_stream.rb +1 -1
- data/lib/rubocop/cop/style/global_vars.rb +1 -1
- data/lib/rubocop/cop/style/guard_clause.rb +51 -4
- data/lib/rubocop/cop/style/hash_as_last_array_item.rb +1 -1
- data/lib/rubocop/cop/style/hash_conversion.rb +1 -1
- data/lib/rubocop/cop/style/hash_each_methods.rb +1 -1
- data/lib/rubocop/cop/style/hash_except.rb +89 -9
- data/lib/rubocop/cop/style/hash_like_case.rb +1 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +3 -3
- data/lib/rubocop/cop/style/hash_transform_keys.rb +6 -1
- data/lib/rubocop/cop/style/hash_transform_values.rb +4 -1
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +4 -4
- data/lib/rubocop/cop/style/if_unless_modifier.rb +5 -4
- data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +4 -2
- data/lib/rubocop/cop/style/implicit_runtime_error.rb +3 -3
- data/lib/rubocop/cop/style/in_pattern_then.rb +1 -1
- data/lib/rubocop/cop/style/inline_comment.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +2 -2
- data/lib/rubocop/cop/style/ip_addresses.rb +1 -1
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +2 -2
- data/lib/rubocop/cop/style/lambda.rb +1 -1
- data/lib/rubocop/cop/style/lambda_call.rb +1 -1
- data/lib/rubocop/cop/style/line_end_concatenation.rb +2 -2
- data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +136 -0
- data/lib/rubocop/cop/style/map_to_hash.rb +3 -3
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +5 -5
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +13 -1
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +1 -1
- data/lib/rubocop/cop/style/method_def_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/min_max.rb +1 -1
- data/lib/rubocop/cop/style/missing_else.rb +24 -24
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -1
- data/lib/rubocop/cop/style/mixin_grouping.rb +2 -2
- data/lib/rubocop/cop/style/mixin_usage.rb +1 -1
- data/lib/rubocop/cop/style/module_function.rb +3 -3
- data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
- data/lib/rubocop/cop/style/multiline_if_modifier.rb +2 -2
- data/lib/rubocop/cop/style/multiline_if_then.rb +1 -1
- data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +2 -4
- data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
- data/lib/rubocop/cop/style/multiline_method_signature.rb +2 -2
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +37 -11
- data/lib/rubocop/cop/style/multiline_when_then.rb +2 -4
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +1 -1
- data/lib/rubocop/cop/style/negated_if_else_condition.rb +1 -1
- data/lib/rubocop/cop/style/nested_file_dirname.rb +1 -1
- data/lib/rubocop/cop/style/nested_modifier.rb +1 -1
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +11 -2
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +20 -8
- data/lib/rubocop/cop/style/next.rb +1 -1
- data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
- data/lib/rubocop/cop/style/nil_lambda.rb +2 -2
- data/lib/rubocop/cop/style/non_nil_check.rb +1 -1
- data/lib/rubocop/cop/style/not.rb +2 -2
- data/lib/rubocop/cop/style/numbered_parameters.rb +1 -1
- data/lib/rubocop/cop/style/numbered_parameters_limit.rb +1 -1
- data/lib/rubocop/cop/style/numeric_literal_prefix.rb +1 -1
- data/lib/rubocop/cop/style/numeric_literals.rb +1 -1
- data/lib/rubocop/cop/style/numeric_predicate.rb +30 -8
- data/lib/rubocop/cop/style/object_then.rb +69 -0
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
- data/lib/rubocop/cop/style/open_struct_use.rb +1 -1
- data/lib/rubocop/cop/style/option_hash.rb +1 -1
- data/lib/rubocop/cop/style/optional_arguments.rb +2 -2
- data/lib/rubocop/cop/style/optional_boolean_parameter.rb +2 -2
- data/lib/rubocop/cop/style/or_assignment.rb +1 -1
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +1 -1
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -1
- data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
- data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
- data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -1
- data/lib/rubocop/cop/style/proc.rb +1 -1
- data/lib/rubocop/cop/style/quoted_symbols.rb +1 -1
- data/lib/rubocop/cop/style/raise_args.rb +10 -4
- data/lib/rubocop/cop/style/random_with_offset.rb +1 -1
- data/lib/rubocop/cop/style/redundant_argument.rb +2 -2
- data/lib/rubocop/cop/style/redundant_assignment.rb +1 -1
- data/lib/rubocop/cop/style/redundant_begin.rb +17 -6
- data/lib/rubocop/cop/style/redundant_capital_w.rb +2 -3
- data/lib/rubocop/cop/style/redundant_condition.rb +113 -12
- data/lib/rubocop/cop/style/redundant_conditional.rb +1 -1
- data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
- data/lib/rubocop/cop/style/redundant_fetch_block.rb +1 -1
- data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
- data/lib/rubocop/cop/style/redundant_freeze.rb +1 -1
- data/lib/rubocop/cop/style/redundant_initialize.rb +154 -0
- data/lib/rubocop/cop/style/redundant_interpolation.rb +22 -1
- data/lib/rubocop/cop/style/redundant_parentheses.rb +3 -2
- data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -1
- data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +8 -3
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +2 -2
- data/lib/rubocop/cop/style/redundant_return.rb +2 -2
- data/lib/rubocop/cop/style/redundant_self.rb +1 -1
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +3 -4
- data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +1 -1
- data/lib/rubocop/cop/style/redundant_sort.rb +1 -1
- data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -1
- data/lib/rubocop/cop/style/regexp_literal.rb +1 -1
- data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
- data/lib/rubocop/cop/style/rescue_standard_error.rb +13 -13
- data/lib/rubocop/cop/style/return_nil.rb +1 -1
- data/lib/rubocop/cop/style/safe_navigation.rb +17 -9
- data/lib/rubocop/cop/style/sample.rb +1 -1
- data/lib/rubocop/cop/style/select_by_regexp.rb +1 -1
- data/lib/rubocop/cop/style/self_assignment.rb +1 -1
- data/lib/rubocop/cop/style/semicolon.rb +28 -4
- data/lib/rubocop/cop/style/send.rb +1 -1
- data/lib/rubocop/cop/style/signal_exception.rb +1 -1
- data/lib/rubocop/cop/style/single_argument_dig.rb +5 -0
- data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
- data/lib/rubocop/cop/style/single_line_methods.rb +2 -2
- data/lib/rubocop/cop/style/slicing_with_range.rb +1 -1
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +35 -16
- data/lib/rubocop/cop/style/special_global_vars.rb +66 -8
- data/lib/rubocop/cop/style/static_class.rb +1 -1
- data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
- data/lib/rubocop/cop/style/string_chars.rb +1 -1
- data/lib/rubocop/cop/style/string_concatenation.rb +6 -7
- data/lib/rubocop/cop/style/string_hash_keys.rb +1 -1
- data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/string_methods.rb +1 -1
- data/lib/rubocop/cop/style/strip.rb +1 -1
- data/lib/rubocop/cop/style/struct_inheritance.rb +4 -4
- data/lib/rubocop/cop/style/swap_values.rb +2 -2
- data/lib/rubocop/cop/style/symbol_array.rb +8 -5
- data/lib/rubocop/cop/style/symbol_literal.rb +1 -1
- data/lib/rubocop/cop/style/symbol_proc.rb +37 -5
- data/lib/rubocop/cop/style/ternary_parentheses.rb +2 -3
- data/lib/rubocop/cop/style/trailing_body_on_class.rb +1 -1
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -1
- data/lib/rubocop/cop/style/trailing_body_on_module.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +1 -1
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +1 -1
- data/lib/rubocop/cop/style/trivial_accessors.rb +11 -9
- data/lib/rubocop/cop/style/unless_else.rb +1 -1
- data/lib/rubocop/cop/style/unless_logical_operators.rb +1 -1
- data/lib/rubocop/cop/style/unpack_first.rb +5 -2
- data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/when_then.rb +1 -1
- data/lib/rubocop/cop/style/word_array.rb +3 -4
- data/lib/rubocop/cop/style/yoda_condition.rb +1 -1
- data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -1
- data/lib/rubocop/cop/team.rb +2 -2
- data/lib/rubocop/cop/util.rb +2 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -1
- data/lib/rubocop/cops_documentation_generator.rb +19 -2
- data/lib/rubocop/formatter/disabled_config_formatter.rb +10 -7
- data/lib/rubocop/formatter/formatter_set.rb +20 -18
- data/lib/rubocop/formatter/git_hub_actions_formatter.rb +15 -2
- data/lib/rubocop/formatter/html_formatter.rb +2 -10
- data/lib/rubocop/formatter/markdown_formatter.rb +78 -0
- data/lib/rubocop/formatter/offense_count_formatter.rb +8 -2
- data/lib/rubocop/formatter/simple_text_formatter.rb +9 -8
- data/lib/rubocop/formatter/worst_offenders_formatter.rb +1 -2
- data/lib/rubocop/formatter.rb +31 -0
- data/lib/rubocop/magic_comment.rb +31 -5
- data/lib/rubocop/options.rb +103 -34
- data/lib/rubocop/rake_task.rb +34 -9
- data/lib/rubocop/result_cache.rb +13 -4
- data/lib/rubocop/rspec/cop_helper.rb +2 -2
- data/lib/rubocop/rspec/expect_offense.rb +3 -3
- data/lib/rubocop/rspec/parallel_formatter.rb +1 -1
- data/lib/rubocop/rspec/shared_contexts.rb +31 -11
- data/lib/rubocop/rspec/support.rb +14 -0
- data/lib/rubocop/runner.rb +37 -7
- data/lib/rubocop/server/cache.rb +109 -0
- data/lib/rubocop/server/cli.rb +104 -0
- data/lib/rubocop/server/client_command/base.rb +44 -0
- data/lib/rubocop/server/client_command/exec.rb +59 -0
- data/lib/rubocop/server/client_command/restart.rb +25 -0
- data/lib/rubocop/server/client_command/start.rb +43 -0
- data/lib/rubocop/server/client_command/status.rb +28 -0
- data/lib/rubocop/server/client_command/stop.rb +31 -0
- data/lib/rubocop/server/client_command.rb +26 -0
- data/lib/rubocop/server/core.rb +79 -0
- data/lib/rubocop/server/errors.rb +23 -0
- data/lib/rubocop/server/helper.rb +34 -0
- data/lib/rubocop/server/server_command/base.rb +50 -0
- data/lib/rubocop/server/server_command/exec.rb +34 -0
- data/lib/rubocop/server/server_command/stop.rb +24 -0
- data/lib/rubocop/server/server_command.rb +21 -0
- data/lib/rubocop/server/socket_reader.rb +65 -0
- data/lib/rubocop/server.rb +53 -0
- data/lib/rubocop/string_interpreter.rb +4 -4
- data/lib/rubocop/target_ruby.rb +14 -6
- data/lib/rubocop/version.rb +15 -8
- data/lib/rubocop.rb +20 -27
- metadata +68 -10
- data/lib/rubocop/cop/gemspec/date_assignment.rb +0 -49
- data/lib/rubocop/cop/mixin/ignored_pattern.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 270faf06487f8a915ef6293944db136da6fb51ec09b5613be4b848a471c858bb
|
4
|
+
data.tar.gz: 1c61746959019453862c2e90b8d3250ce3f9815b1eae286f1fd5b73fb267a1cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86966e7ff42d0f514a447c8313cc9bdc13020ec1d375e584dba8ebae5bb535a1238380a57d55dfd697c735b3f9259f59939563f4b504f08570304e4ec1c2c7af
|
7
|
+
data.tar.gz: ce35c98b8b51b8b59c6c2aeac880a0618067a68f7080a2e44408a7e283471b2b57f84e57c127144632b61eaa8edf6e4369d4702c2baa222cb3b37fad38606bd5
|
data/README.md
CHANGED
@@ -53,7 +53,7 @@ To prevent an unwanted RuboCop update you might want to use a conservative versi
|
|
53
53
|
in your `Gemfile`:
|
54
54
|
|
55
55
|
```rb
|
56
|
-
gem 'rubocop', '~> 1.
|
56
|
+
gem 'rubocop', '~> 1.32', require: false
|
57
57
|
```
|
58
58
|
|
59
59
|
See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
|
@@ -73,10 +73,12 @@ You can read a lot more about RuboCop in its [official docs](https://docs.ruboco
|
|
73
73
|
|
74
74
|
## Compatibility
|
75
75
|
|
76
|
-
RuboCop officially supports the following Ruby implementations:
|
76
|
+
RuboCop officially supports the following runtime Ruby implementations:
|
77
77
|
|
78
|
-
* MRI 2.
|
79
|
-
* JRuby 9.
|
78
|
+
* MRI 2.6+
|
79
|
+
* JRuby 9.3+
|
80
|
+
|
81
|
+
Targets Ruby 2.0+ code analysis.
|
80
82
|
|
81
83
|
See the [compatibility documentation](https://docs.rubocop.org/rubocop/compatibility.html) for further details.
|
82
84
|
|
data/config/default.yml
CHANGED
@@ -140,7 +140,7 @@ AllCops:
|
|
140
140
|
# or gems.locked file. (Although the Ruby version is specified in the Gemfile
|
141
141
|
# or gems.rb file, RuboCop reads the final value from the lock file.) If the
|
142
142
|
# Ruby version is still unresolved, RuboCop will use the oldest officially
|
143
|
-
# supported Ruby version (currently Ruby 2.
|
143
|
+
# supported Ruby version (currently Ruby 2.6).
|
144
144
|
TargetRubyVersion: ~
|
145
145
|
# Determines if a notification for extension libraries should be shown when
|
146
146
|
# rubocop is run. Keys are the name of the extension, and values are an array
|
@@ -153,6 +153,8 @@ AllCops:
|
|
153
153
|
rubocop-sequel: [sequel]
|
154
154
|
rubocop-rake: [rake]
|
155
155
|
rubocop-graphql: [graphql]
|
156
|
+
# Enable/Disable checking the methods extended by Active Support.
|
157
|
+
ActiveSupportExtensionsEnabled: false
|
156
158
|
|
157
159
|
#################### Bundler ###############################
|
158
160
|
|
@@ -235,10 +237,22 @@ Bundler/OrderedGems:
|
|
235
237
|
|
236
238
|
#################### Gemspec ###############################
|
237
239
|
|
238
|
-
Gemspec/
|
239
|
-
Description: '
|
240
|
+
Gemspec/DependencyVersion:
|
241
|
+
Description: 'Requires or forbids specifying gem dependency versions.'
|
242
|
+
Enabled: false
|
243
|
+
VersionAdded: '1.29'
|
244
|
+
EnforcedStyle: 'required'
|
245
|
+
SupportedStyles:
|
246
|
+
- 'required'
|
247
|
+
- 'forbidden'
|
248
|
+
Include:
|
249
|
+
- '**/*.gemspec'
|
250
|
+
AllowedGems: []
|
251
|
+
|
252
|
+
Gemspec/DeprecatedAttributeAssignment:
|
253
|
+
Description: Checks that deprecated attribute assignments are not set in a gemspec file.
|
240
254
|
Enabled: pending
|
241
|
-
VersionAdded: '1.
|
255
|
+
VersionAdded: '1.30'
|
242
256
|
Include:
|
243
257
|
- '**/*.gemspec'
|
244
258
|
|
@@ -883,7 +897,7 @@ Layout/HeredocArgumentClosingParenthesis:
|
|
883
897
|
VersionAdded: '0.68'
|
884
898
|
|
885
899
|
Layout/HeredocIndentation:
|
886
|
-
Description: '
|
900
|
+
Description: 'Checks the indentation of the here document bodies.'
|
887
901
|
StyleGuide: '#squiggly-heredocs'
|
888
902
|
Enabled: true
|
889
903
|
VersionAdded: '0.49'
|
@@ -916,7 +930,7 @@ Layout/IndentationStyle:
|
|
916
930
|
VersionChanged: '0.82'
|
917
931
|
# By default the indentation width from `Layout/IndentationWidth` is used,
|
918
932
|
# but it can be overridden by setting this parameter.
|
919
|
-
# It is used during
|
933
|
+
# It is used during autocorrection to determine how many spaces should
|
920
934
|
# replace each tab.
|
921
935
|
IndentationWidth: ~
|
922
936
|
EnforcedStyle: spaces
|
@@ -931,7 +945,8 @@ Layout/IndentationWidth:
|
|
931
945
|
VersionAdded: '0.49'
|
932
946
|
# Number of spaces for each indentation level.
|
933
947
|
Width: 2
|
934
|
-
|
948
|
+
AllowedPatterns: []
|
949
|
+
IgnoredPatterns: [] # deprecated
|
935
950
|
|
936
951
|
Layout/InitialIndentation:
|
937
952
|
Description: >-
|
@@ -954,6 +969,31 @@ Layout/LeadingEmptyLines:
|
|
954
969
|
VersionAdded: '0.57'
|
955
970
|
VersionChanged: '0.77'
|
956
971
|
|
972
|
+
Layout/LineContinuationLeadingSpace:
|
973
|
+
Description: >-
|
974
|
+
Use trailing spaces instead of leading spaces in strings
|
975
|
+
broken over multiple lines (by a backslash).
|
976
|
+
Enabled: pending
|
977
|
+
AutoCorrect: false
|
978
|
+
SafeAutoCorrect: false
|
979
|
+
VersionAdded: '1.31'
|
980
|
+
VersionChanged: '1.32'
|
981
|
+
EnforcedStyle: trailing
|
982
|
+
SupportedStyles:
|
983
|
+
- leading
|
984
|
+
- trailing
|
985
|
+
|
986
|
+
Layout/LineContinuationSpacing:
|
987
|
+
Description: 'Checks the spacing in front of backslash in line continuations.'
|
988
|
+
Enabled: pending
|
989
|
+
AutoCorrect: true
|
990
|
+
SafeAutoCorrect: true
|
991
|
+
VersionAdded: '1.31'
|
992
|
+
EnforcedStyle: space
|
993
|
+
SupportedStyles:
|
994
|
+
- space
|
995
|
+
- no_space
|
996
|
+
|
957
997
|
Layout/LineEndStringConcatenationIndentation:
|
958
998
|
Description: >-
|
959
999
|
Checks the indentation of the next line after a line that
|
@@ -985,10 +1025,11 @@ Layout/LineLength:
|
|
985
1025
|
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
|
986
1026
|
# directives like '# rubocop: enable ...' when calculating a line's length.
|
987
1027
|
IgnoreCopDirectives: true
|
988
|
-
# The
|
1028
|
+
# The AllowedPatterns option is a list of !ruby/regexp and/or string
|
989
1029
|
# elements. Strings will be converted to Regexp objects. A line that matches
|
990
1030
|
# any regular expression listed in this option will be ignored by LineLength.
|
991
|
-
|
1031
|
+
AllowedPatterns: []
|
1032
|
+
IgnoredPatterns: [] # deprecated
|
992
1033
|
|
993
1034
|
Layout/MultilineArrayBraceLayout:
|
994
1035
|
Description: >-
|
@@ -1117,6 +1158,13 @@ Layout/MultilineMethodDefinitionBraceLayout:
|
|
1117
1158
|
- new_line
|
1118
1159
|
- same_line
|
1119
1160
|
|
1161
|
+
Layout/MultilineMethodParameterLineBreaks:
|
1162
|
+
Description: >-
|
1163
|
+
Checks that each parameter in a multi-line method definition
|
1164
|
+
starts on a separate line.
|
1165
|
+
Enabled: false
|
1166
|
+
VersionAdded: '1.32'
|
1167
|
+
|
1120
1168
|
Layout/MultilineOperationIndentation:
|
1121
1169
|
Description: >-
|
1122
1170
|
Checks indentation of binary operations that span more than
|
@@ -1500,7 +1548,7 @@ Lint/BigDecimalNew:
|
|
1500
1548
|
VersionAdded: '0.53'
|
1501
1549
|
|
1502
1550
|
Lint/BinaryOperatorWithIdenticalOperands:
|
1503
|
-
Description: '
|
1551
|
+
Description: 'Checks for places where binary operator has identical operands.'
|
1504
1552
|
Enabled: true
|
1505
1553
|
Safe: false
|
1506
1554
|
VersionAdded: '0.89'
|
@@ -1529,6 +1577,11 @@ Lint/ConstantDefinitionInBlock:
|
|
1529
1577
|
AllowedMethods:
|
1530
1578
|
- enums
|
1531
1579
|
|
1580
|
+
Lint/ConstantOverwrittenInRescue:
|
1581
|
+
Description: 'Checks for overwriting an exception with an exception result by use `rescue =>`.'
|
1582
|
+
Enabled: pending
|
1583
|
+
VersionAdded: '1.31'
|
1584
|
+
|
1532
1585
|
Lint/ConstantResolution:
|
1533
1586
|
Description: 'Check that constants are fully qualified with `::`.'
|
1534
1587
|
Enabled: false
|
@@ -1661,7 +1714,9 @@ Lint/DuplicateRegexpCharacterClassElement:
|
|
1661
1714
|
Lint/DuplicateRequire:
|
1662
1715
|
Description: 'Check for duplicate `require`s and `require_relative`s.'
|
1663
1716
|
Enabled: true
|
1717
|
+
SafeAutoCorrect: false
|
1664
1718
|
VersionAdded: '0.90'
|
1719
|
+
VersionChanged: '1.28'
|
1665
1720
|
|
1666
1721
|
Lint/DuplicateRescueException:
|
1667
1722
|
Description: 'Checks that there are no repeated exceptions used in `rescue` expressions.'
|
@@ -1680,7 +1735,7 @@ Lint/ElseLayout:
|
|
1680
1735
|
VersionChanged: '1.2'
|
1681
1736
|
|
1682
1737
|
Lint/EmptyBlock:
|
1683
|
-
Description: '
|
1738
|
+
Description: 'Checks for blocks without a body.'
|
1684
1739
|
Enabled: pending
|
1685
1740
|
VersionAdded: '1.1'
|
1686
1741
|
VersionChanged: '1.15'
|
@@ -1694,7 +1749,7 @@ Lint/EmptyClass:
|
|
1694
1749
|
AllowComments: false
|
1695
1750
|
|
1696
1751
|
Lint/EmptyConditionalBody:
|
1697
|
-
Description: '
|
1752
|
+
Description: 'Checks for the presence of `if`, `elsif` and `unless` branches without a body.'
|
1698
1753
|
Enabled: true
|
1699
1754
|
AllowComments: true
|
1700
1755
|
VersionAdded: '0.89'
|
@@ -1873,7 +1928,7 @@ Lint/MissingCopEnableDirective:
|
|
1873
1928
|
|
1874
1929
|
Lint/MissingSuper:
|
1875
1930
|
Description: >-
|
1876
|
-
|
1931
|
+
Checks for the presence of constructors and lifecycle callbacks
|
1877
1932
|
without calls to `super`.
|
1878
1933
|
Enabled: true
|
1879
1934
|
VersionAdded: '0.89'
|
@@ -1913,6 +1968,12 @@ Lint/NoReturnInBeginEndBlocks:
|
|
1913
1968
|
Enabled: pending
|
1914
1969
|
VersionAdded: '1.2'
|
1915
1970
|
|
1971
|
+
Lint/NonAtomicFileOperation:
|
1972
|
+
Description: Checks for non-atomic file operations.
|
1973
|
+
Enabled: pending
|
1974
|
+
VersionAdded: '1.31'
|
1975
|
+
SafeAutoCorrect: false
|
1976
|
+
|
1916
1977
|
Lint/NonDeterministicRequireOrder:
|
1917
1978
|
Description: 'Always sort arrays returned by Dir.glob when requiring files.'
|
1918
1979
|
Enabled: true
|
@@ -2058,6 +2119,12 @@ Lint/RedundantWithObject:
|
|
2058
2119
|
Enabled: true
|
2059
2120
|
VersionAdded: '0.51'
|
2060
2121
|
|
2122
|
+
Lint/RefinementImportMethods:
|
2123
|
+
Description: 'Use `Refinement#import_methods` when using `include` or `prepend` in `refine` block.'
|
2124
|
+
Enabled: pending
|
2125
|
+
SafeAutoCorrect: false
|
2126
|
+
VersionAdded: '1.27'
|
2127
|
+
|
2061
2128
|
Lint/RegexpAsCondition:
|
2062
2129
|
Description: >-
|
2063
2130
|
Do not use regexp literal as a condition.
|
@@ -2073,6 +2140,11 @@ Lint/RequireParentheses:
|
|
2073
2140
|
Enabled: true
|
2074
2141
|
VersionAdded: '0.18'
|
2075
2142
|
|
2143
|
+
Lint/RequireRangeParentheses:
|
2144
|
+
Description: 'Checks that a range literal is enclosed in parentheses when the end of the range is at a line break.'
|
2145
|
+
Enabled: pending
|
2146
|
+
VersionAdded: '1.32'
|
2147
|
+
|
2076
2148
|
Lint/RequireRelativeSelfPath:
|
2077
2149
|
Description: 'Checks for uses a file requiring itself with `require_relative`.'
|
2078
2150
|
Enabled: pending
|
@@ -2196,7 +2268,7 @@ Lint/Syntax:
|
|
2196
2268
|
VersionAdded: '0.9'
|
2197
2269
|
|
2198
2270
|
Lint/ToEnumArguments:
|
2199
|
-
Description: '
|
2271
|
+
Description: 'Ensures that `to_enum`/`enum_for`, called for the current method, has correct arguments.'
|
2200
2272
|
Enabled: pending
|
2201
2273
|
VersionAdded: '1.1'
|
2202
2274
|
|
@@ -2206,12 +2278,12 @@ Lint/ToJSON:
|
|
2206
2278
|
VersionAdded: '0.66'
|
2207
2279
|
|
2208
2280
|
Lint/TopLevelReturnWithArgument:
|
2209
|
-
Description: '
|
2281
|
+
Description: 'Detects top level return statements with argument.'
|
2210
2282
|
Enabled: true
|
2211
2283
|
VersionAdded: '0.89'
|
2212
2284
|
|
2213
2285
|
Lint/TrailingCommaInAttributeDeclaration:
|
2214
|
-
Description: '
|
2286
|
+
Description: 'Checks for trailing commas in attribute declarations.'
|
2215
2287
|
Enabled: true
|
2216
2288
|
VersionAdded: '0.90'
|
2217
2289
|
|
@@ -2260,14 +2332,15 @@ Lint/UnreachableCode:
|
|
2260
2332
|
VersionAdded: '0.9'
|
2261
2333
|
|
2262
2334
|
Lint/UnreachableLoop:
|
2263
|
-
Description: '
|
2335
|
+
Description: 'Checks for loops that will have at most one iteration.'
|
2264
2336
|
Enabled: true
|
2265
2337
|
VersionAdded: '0.89'
|
2266
2338
|
VersionChanged: '1.7'
|
2267
|
-
|
2339
|
+
AllowedPatterns:
|
2268
2340
|
# RSpec uses `times` in its message expectations
|
2269
2341
|
# eg. `exactly(2).times`
|
2270
2342
|
- !ruby/regexp /(exactly|at_least|at_most)\(\d+\)\.times/
|
2343
|
+
IgnoredPatterns: [] # deprecated
|
2271
2344
|
|
2272
2345
|
Lint/UnusedBlockArgument:
|
2273
2346
|
Description: 'Checks for unused block arguments.'
|
@@ -2322,13 +2395,14 @@ Lint/UselessElseWithoutRescue:
|
|
2322
2395
|
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
2323
2396
|
Enabled: true
|
2324
2397
|
VersionAdded: '0.17'
|
2398
|
+
VersionChanged: '1.31'
|
2325
2399
|
|
2326
2400
|
Lint/UselessMethodDefinition:
|
2327
2401
|
Description: 'Checks for useless method definitions.'
|
2328
2402
|
Enabled: true
|
2329
2403
|
VersionAdded: '0.90'
|
2404
|
+
VersionChanged: '0.91'
|
2330
2405
|
Safe: false
|
2331
|
-
AllowComments: true
|
2332
2406
|
|
2333
2407
|
Lint/UselessRuby2Keywords:
|
2334
2408
|
Description: 'Finds unnecessary uses of `ruby2_keywords`.'
|
@@ -2680,11 +2754,12 @@ Naming/MethodName:
|
|
2680
2754
|
- camelCase
|
2681
2755
|
# Method names matching patterns are always allowed.
|
2682
2756
|
#
|
2683
|
-
#
|
2757
|
+
# AllowedPatterns:
|
2684
2758
|
# - '\A\s*onSelectionBulkChange\s*'
|
2685
2759
|
# - '\A\s*onSelectionCleared\s*'
|
2686
2760
|
#
|
2687
|
-
|
2761
|
+
AllowedPatterns: []
|
2762
|
+
IgnoredPatterns: [] # deprecated
|
2688
2763
|
|
2689
2764
|
Naming/MethodParameterName:
|
2690
2765
|
Description: >-
|
@@ -2760,6 +2835,7 @@ Naming/VariableName:
|
|
2760
2835
|
- snake_case
|
2761
2836
|
- camelCase
|
2762
2837
|
AllowedIdentifiers: []
|
2838
|
+
AllowedPatterns: []
|
2763
2839
|
|
2764
2840
|
Naming/VariableNumber:
|
2765
2841
|
Description: 'Use the configured style when numbering symbols, methods and variables.'
|
@@ -2781,9 +2857,15 @@ Naming/VariableNumber:
|
|
2781
2857
|
- rfc822 # Time#rfc822
|
2782
2858
|
- rfc2822 # Time#rfc2822
|
2783
2859
|
- rfc3339 # DateTime.rfc3339
|
2860
|
+
AllowedPatterns: []
|
2784
2861
|
|
2785
2862
|
#################### Security ##############################
|
2786
2863
|
|
2864
|
+
Security/CompoundHash:
|
2865
|
+
Description: 'When overwriting Object#hash to combine values, prefer delegating to Array#hash over writing a custom implementation.'
|
2866
|
+
Enabled: pending
|
2867
|
+
VersionAdded: '1.28'
|
2868
|
+
|
2787
2869
|
Security/Eval:
|
2788
2870
|
Description: 'The use of eval represents a serious security risk.'
|
2789
2871
|
Enabled: true
|
@@ -3083,7 +3165,7 @@ Style/CaseEquality:
|
|
3083
3165
|
AllowOnConstant: false
|
3084
3166
|
|
3085
3167
|
Style/CaseLikeIf:
|
3086
|
-
Description: '
|
3168
|
+
Description: 'Identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
3087
3169
|
StyleGuide: '#case-vs-if-else'
|
3088
3170
|
Enabled: true
|
3089
3171
|
Safe: false
|
@@ -3430,6 +3512,12 @@ Style/EmptyElse:
|
|
3430
3512
|
- empty
|
3431
3513
|
- nil
|
3432
3514
|
- both
|
3515
|
+
AllowComments: false
|
3516
|
+
|
3517
|
+
Style/EmptyHeredoc:
|
3518
|
+
Description: 'Checks for using empty heredoc to reduce redundancy.'
|
3519
|
+
Enabled: pending
|
3520
|
+
VersionAdded: '1.32'
|
3433
3521
|
|
3434
3522
|
Style/EmptyLambdaParameter:
|
3435
3523
|
Description: 'Omit parens for empty lambda parameters.'
|
@@ -3478,6 +3566,12 @@ Style/EndlessMethod:
|
|
3478
3566
|
- allow_always
|
3479
3567
|
- disallow
|
3480
3568
|
|
3569
|
+
Style/EnvHome:
|
3570
|
+
Description: "Checks for consistent usage of `ENV['HOME']`."
|
3571
|
+
Enabled: pending
|
3572
|
+
Safe: false
|
3573
|
+
VersionAdded: '1.29'
|
3574
|
+
|
3481
3575
|
Style/EvalWithLocation:
|
3482
3576
|
Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
|
3483
3577
|
Enabled: true
|
@@ -3515,6 +3609,16 @@ Style/ExponentialNotation:
|
|
3515
3609
|
- engineering
|
3516
3610
|
- integral
|
3517
3611
|
|
3612
|
+
Style/FetchEnvVar:
|
3613
|
+
Description: >-
|
3614
|
+
Suggests `ENV.fetch` for the replacement of `ENV[]`.
|
3615
|
+
Reference:
|
3616
|
+
- https://rubystyle.guide/#hash-fetch-defaults
|
3617
|
+
Enabled: pending
|
3618
|
+
VersionAdded: '1.28'
|
3619
|
+
# Environment variables to be excluded from the inspection.
|
3620
|
+
AllowedVars: []
|
3621
|
+
|
3518
3622
|
Style/FileRead:
|
3519
3623
|
Description: 'Favor `File.(bin)read` convenience methods.'
|
3520
3624
|
StyleGuide: '#file-read'
|
@@ -3628,10 +3732,11 @@ Style/GuardClause:
|
|
3628
3732
|
StyleGuide: '#no-nested-conditionals'
|
3629
3733
|
Enabled: true
|
3630
3734
|
VersionAdded: '0.20'
|
3631
|
-
VersionChanged: '
|
3735
|
+
VersionChanged: '1.31'
|
3632
3736
|
# `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
|
3633
3737
|
# needs to have to trigger this cop
|
3634
3738
|
MinBodyLength: 1
|
3739
|
+
AllowConsecutiveConditionals: false
|
3635
3740
|
|
3636
3741
|
Style/HashAsLastArrayItem:
|
3637
3742
|
Description: >-
|
@@ -3668,6 +3773,7 @@ Style/HashExcept:
|
|
3668
3773
|
that can be replaced with `Hash#except` method.
|
3669
3774
|
Enabled: pending
|
3670
3775
|
VersionAdded: '1.7'
|
3776
|
+
VersionChanged: '1.31'
|
3671
3777
|
|
3672
3778
|
Style/HashLikeCase:
|
3673
3779
|
Description: >-
|
@@ -3882,6 +3988,11 @@ Style/LineEndConcatenation:
|
|
3882
3988
|
VersionAdded: '0.18'
|
3883
3989
|
VersionChanged: '0.64'
|
3884
3990
|
|
3991
|
+
Style/MapCompactWithConditionalBlock:
|
3992
|
+
Description: 'Prefer `select` or `reject` over `map { ... }.compact`.'
|
3993
|
+
Enabled: pending
|
3994
|
+
VersionAdded: '1.30'
|
3995
|
+
|
3885
3996
|
Style/MapToHash:
|
3886
3997
|
Description: 'Prefer `to_h` with a block over `map.to_h`.'
|
3887
3998
|
Enabled: pending
|
@@ -3896,7 +4007,8 @@ Style/MethodCallWithArgsParentheses:
|
|
3896
4007
|
VersionChanged: '1.7'
|
3897
4008
|
IgnoreMacros: true
|
3898
4009
|
IgnoredMethods: []
|
3899
|
-
|
4010
|
+
AllowedPatterns: []
|
4011
|
+
IgnoredPatterns: [] # deprecated
|
3900
4012
|
IncludedMacros: []
|
3901
4013
|
AllowParenthesesInMultilineCall: false
|
3902
4014
|
AllowParenthesesInChaining: false
|
@@ -4102,7 +4214,7 @@ Style/NegatedIf:
|
|
4102
4214
|
|
4103
4215
|
Style/NegatedIfElseCondition:
|
4104
4216
|
Description: >-
|
4105
|
-
|
4217
|
+
Checks for uses of `if-else` and ternary operators with a negated condition
|
4106
4218
|
which can be simplified by inverting condition and swapping branches.
|
4107
4219
|
Enabled: pending
|
4108
4220
|
VersionAdded: '1.2'
|
@@ -4287,6 +4399,19 @@ Style/NumericPredicate:
|
|
4287
4399
|
Exclude:
|
4288
4400
|
- 'spec/**/*'
|
4289
4401
|
|
4402
|
+
Style/ObjectThen:
|
4403
|
+
Description: 'Enforces the use of consistent method names `Object#yield_self` or `Object#then`.'
|
4404
|
+
StyleGuide: '#object-yield-self-vs-object-then'
|
4405
|
+
Enabled: pending
|
4406
|
+
VersionAdded: '1.28'
|
4407
|
+
# Use `Object#yield_self` or `Object#then`?
|
4408
|
+
# Prefer `Object#yield_self` to `Object#then` (yield_self)
|
4409
|
+
# Prefer `Object#then` to `Object#yield_self` (then)
|
4410
|
+
EnforcedStyle: 'then'
|
4411
|
+
SupportedStyles:
|
4412
|
+
- then
|
4413
|
+
- yield_self
|
4414
|
+
|
4290
4415
|
Style/OneLineConditional:
|
4291
4416
|
Description: >-
|
4292
4417
|
Favor the ternary operator (?:) or multi-line constructs over
|
@@ -4524,10 +4649,20 @@ Style/RedundantFreeze:
|
|
4524
4649
|
VersionAdded: '0.34'
|
4525
4650
|
VersionChanged: '0.66'
|
4526
4651
|
|
4652
|
+
Style/RedundantInitialize:
|
4653
|
+
Description: 'Checks for redundant `initialize` methods.'
|
4654
|
+
Enabled: pending
|
4655
|
+
Safe: false
|
4656
|
+
AllowComments: true
|
4657
|
+
VersionAdded: '1.27'
|
4658
|
+
VersionChanged: '1.28'
|
4659
|
+
|
4527
4660
|
Style/RedundantInterpolation:
|
4528
4661
|
Description: 'Checks for strings that are just an interpolated expression.'
|
4529
4662
|
Enabled: true
|
4663
|
+
SafeAutoCorrect: false
|
4530
4664
|
VersionAdded: '0.76'
|
4665
|
+
VersionChanged: '1.30'
|
4531
4666
|
|
4532
4667
|
Style/RedundantParentheses:
|
4533
4668
|
Description: "Checks for parentheses that seem not to serve any purpose."
|
@@ -4638,14 +4773,14 @@ Style/ReturnNil:
|
|
4638
4773
|
|
4639
4774
|
Style/SafeNavigation:
|
4640
4775
|
Description: >-
|
4641
|
-
|
4776
|
+
Transforms usages of a method call safeguarded by
|
4642
4777
|
a check for the existence of the object to
|
4643
4778
|
safe navigation (`&.`).
|
4644
|
-
|
4779
|
+
Autocorrection is unsafe as it assumes the object will
|
4645
4780
|
be `nil` or truthy, but never `false`.
|
4646
4781
|
Enabled: true
|
4647
4782
|
VersionAdded: '0.43'
|
4648
|
-
VersionChanged: '
|
4783
|
+
VersionChanged: '1.27'
|
4649
4784
|
# Safe navigation may cause a statement to start returning `nil` in addition
|
4650
4785
|
# to whatever it used to return.
|
4651
4786
|
ConvertCodeThatCanStartToReturnNil: false
|
@@ -4656,6 +4791,8 @@ Style/SafeNavigation:
|
|
4656
4791
|
- try
|
4657
4792
|
- try!
|
4658
4793
|
SafeAutoCorrect: false
|
4794
|
+
# Maximum length of method chains for register an offense.
|
4795
|
+
MaxChainLength: 2
|
4659
4796
|
|
4660
4797
|
Style/Sample:
|
4661
4798
|
Description: >-
|
@@ -4761,6 +4898,7 @@ Style/SpecialGlobalVars:
|
|
4761
4898
|
SupportedStyles:
|
4762
4899
|
- use_perl_names
|
4763
4900
|
- use_english_names
|
4901
|
+
- use_builtin_english_names
|
4764
4902
|
|
4765
4903
|
Style/StabbyLambdaParentheses:
|
4766
4904
|
Description: 'Check for the usage of parentheses around stabby lambda arguments.'
|
@@ -4862,7 +5000,7 @@ Style/StructInheritance:
|
|
4862
5000
|
VersionChanged: '1.20'
|
4863
5001
|
|
4864
5002
|
Style/SwapValues:
|
4865
|
-
Description: '
|
5003
|
+
Description: 'Enforces the use of shorthand-style swapping of 2 variables.'
|
4866
5004
|
StyleGuide: '#values-swapping'
|
4867
5005
|
Enabled: pending
|
4868
5006
|
VersionAdded: '1.1'
|
@@ -4890,13 +5028,14 @@ Style/SymbolProc:
|
|
4890
5028
|
Enabled: true
|
4891
5029
|
Safe: false
|
4892
5030
|
VersionAdded: '0.26'
|
4893
|
-
VersionChanged: '1.
|
5031
|
+
VersionChanged: '1.28'
|
4894
5032
|
AllowMethodsWithArguments: false
|
4895
5033
|
# A list of method names to be ignored by the check.
|
4896
5034
|
# The names should be fairly unique, otherwise you'll end up ignoring lots of code.
|
4897
5035
|
IgnoredMethods:
|
4898
5036
|
- respond_to
|
4899
5037
|
- define_method
|
5038
|
+
AllowComments: false
|
4900
5039
|
|
4901
5040
|
Style/TernaryParentheses:
|
4902
5041
|
Description: 'Checks for use of parentheses around ternary conditions.'
|
@@ -4911,7 +5050,7 @@ Style/TernaryParentheses:
|
|
4911
5050
|
AllowSafeAssignment: true
|
4912
5051
|
|
4913
5052
|
Style/TopLevelMethodDefinition:
|
4914
|
-
Description: '
|
5053
|
+
Description: 'Looks for top-level method definitions.'
|
4915
5054
|
StyleGuide: '#top-level-methods'
|
4916
5055
|
Enabled: false
|
4917
5056
|
VersionAdded: '1.15'
|
data/config/obsoletion.yml
CHANGED
@@ -55,6 +55,8 @@ renamed:
|
|
55
55
|
|
56
56
|
# Cops that were removed
|
57
57
|
removed:
|
58
|
+
Gemspec/DateAssignment:
|
59
|
+
alternatives: Gemspec/DeprecatedAttributeAssignment
|
58
60
|
Layout/SpaceAfterControlKeyword:
|
59
61
|
alternatives: Layout/SpaceAroundKeyword
|
60
62
|
Layout/SpaceBeforeModifierKeyword:
|
@@ -152,7 +154,7 @@ changed_parameters:
|
|
152
154
|
alternative: EnforcedStyle
|
153
155
|
- cops: Style/MethodCallWithArgsParentheses
|
154
156
|
parameters: IgnoredMethodPatterns
|
155
|
-
alternative:
|
157
|
+
alternative: AllowedPatterns
|
156
158
|
- cops:
|
157
159
|
- Performance/Count
|
158
160
|
- Performance/Detect
|
@@ -191,6 +193,15 @@ changed_parameters:
|
|
191
193
|
parameters: DebuggerReceivers
|
192
194
|
reason: "`DebuggerReceivers` is no longer necessary, method receivers should be specified in `DebuggerMethods` instead."
|
193
195
|
severity: warning
|
196
|
+
- cops:
|
197
|
+
- Layout/IndentationWidth
|
198
|
+
- Layout/LineLength
|
199
|
+
- Lint/UnreachableLoop
|
200
|
+
- Naming/MethodName
|
201
|
+
- Style/MethodCallWithArgsParentheses
|
202
|
+
parameters: IgnoredPatterns
|
203
|
+
alternative: AllowedPatterns
|
204
|
+
severity: warning
|
194
205
|
|
195
206
|
# Enforced styles that have been removed or replaced
|
196
207
|
changed_enforced_styles:
|
data/exe/rubocop
CHANGED
@@ -3,13 +3,21 @@
|
|
3
3
|
|
4
4
|
$LOAD_PATH.unshift("#{__dir__}/../lib")
|
5
5
|
|
6
|
-
require 'rubocop'
|
7
|
-
|
6
|
+
require 'rubocop/server'
|
7
|
+
server_cli = RuboCop::Server::CLI.new
|
8
|
+
exit_status = server_cli.run
|
9
|
+
exit exit_status if server_cli.exit?
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
+
if RuboCop::Server.running?
|
12
|
+
exit_status = RuboCop::Server::ClientCommand::Exec.new.run
|
13
|
+
else
|
14
|
+
require 'rubocop'
|
15
|
+
require 'benchmark'
|
11
16
|
|
12
|
-
|
17
|
+
cli = RuboCop::CLI.new
|
13
18
|
|
14
|
-
|
15
|
-
|
19
|
+
time = Benchmark.realtime { exit_status = cli.run }
|
20
|
+
|
21
|
+
puts "Finished in #{time} seconds" if cli.options[:debug] || cli.options[:display_time]
|
22
|
+
end
|
23
|
+
exit exit_status
|
@@ -66,6 +66,7 @@ module RuboCop
|
|
66
66
|
execute_runner
|
67
67
|
@options.delete(:only)
|
68
68
|
@config_store = ConfigStore.new
|
69
|
+
@config_store.options_config = @options[:config] if @options[:config]
|
69
70
|
# Save the todo configuration of the LineLength cop.
|
70
71
|
File.read(AUTO_GENERATED_FILE).lines.drop_while { |line| line.start_with?('#') }.join
|
71
72
|
end
|
@@ -95,23 +96,24 @@ module RuboCop
|
|
95
96
|
end
|
96
97
|
|
97
98
|
def add_inheritance_from_auto_generated_file(config_file)
|
98
|
-
file_string = " #{
|
99
|
+
file_string = " #{relative_path_to_todo_from_options_config}"
|
99
100
|
|
100
101
|
config_file ||= ConfigLoader::DOTFILE
|
101
102
|
|
102
103
|
if File.exist?(config_file)
|
103
104
|
files = Array(ConfigLoader.load_yaml_configuration(config_file)['inherit_from'])
|
104
105
|
|
105
|
-
return if files.include?(
|
106
|
+
return if files.include?(relative_path_to_todo_from_options_config)
|
106
107
|
|
107
|
-
files.unshift(
|
108
|
+
files.unshift(relative_path_to_todo_from_options_config)
|
108
109
|
file_string = "\n - #{files.join("\n - ")}" if files.size > 1
|
109
110
|
rubocop_yml_contents = existing_configuration(config_file)
|
110
111
|
end
|
111
112
|
|
112
113
|
write_config_file(config_file, file_string, rubocop_yml_contents)
|
113
114
|
|
114
|
-
puts "Added inheritance from `#{
|
115
|
+
puts "Added inheritance from `#{relative_path_to_todo_from_options_config}` " \
|
116
|
+
"in `#{ConfigLoader::DOTFILE}`."
|
115
117
|
end
|
116
118
|
|
117
119
|
def existing_configuration(config_file)
|
@@ -126,6 +128,19 @@ module RuboCop
|
|
126
128
|
lines.insert(doc_start_index + 1, "inherit_from:#{file_string}\n")
|
127
129
|
File.write(file_name, lines.join("\n"))
|
128
130
|
end
|
131
|
+
|
132
|
+
def relative_path_to_todo_from_options_config
|
133
|
+
return AUTO_GENERATED_FILE if !@options[:config] || options_config_in_root?
|
134
|
+
|
135
|
+
base = Pathname.new('.')
|
136
|
+
config_dir = Pathname.new(File.dirname(@options[:config]))
|
137
|
+
|
138
|
+
"#{base.relative_path_from(config_dir)}/#{AUTO_GENERATED_FILE}"
|
139
|
+
end
|
140
|
+
|
141
|
+
def options_config_in_root?
|
142
|
+
File.dirname(@options[:config]) == '.'
|
143
|
+
end
|
129
144
|
end
|
130
145
|
end
|
131
146
|
end
|