rubocop 1.12.0 → 1.13.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 +10 -0
- data/exe/rubocop +1 -3
- data/lib/rubocop.rb +1 -1
- data/lib/rubocop/cached_data.rb +1 -3
- data/lib/rubocop/cli.rb +4 -6
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +9 -19
- data/lib/rubocop/cli/command/init_dotfile.rb +1 -3
- data/lib/rubocop/cli/command/show_cops.rb +1 -4
- data/lib/rubocop/comment_config.rb +2 -7
- data/lib/rubocop/config.rb +11 -26
- data/lib/rubocop/config_loader.rb +5 -11
- data/lib/rubocop/config_loader_resolver.rb +22 -14
- data/lib/rubocop/config_obsoletion/cop_rule.rb +1 -2
- data/lib/rubocop/config_store.rb +1 -2
- data/lib/rubocop/config_validator.rb +5 -10
- data/lib/rubocop/cop/autocorrect_logic.rb +3 -8
- data/lib/rubocop/cop/badge.rb +1 -2
- data/lib/rubocop/cop/base.rb +8 -6
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -2
- data/lib/rubocop/cop/bundler/gem_comment.rb +42 -8
- data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -4
- data/lib/rubocop/cop/commissioner.rb +2 -8
- data/lib/rubocop/cop/cop.rb +4 -18
- data/lib/rubocop/cop/corrector.rb +1 -4
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -6
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +2 -4
- data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -2
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +3 -6
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -3
- data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -3
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -8
- data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -2
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -4
- data/lib/rubocop/cop/generator.rb +1 -4
- data/lib/rubocop/cop/generator/configuration_injector.rb +1 -2
- data/lib/rubocop/cop/generator/require_file_injector.rb +2 -5
- data/lib/rubocop/cop/internal_affairs/example_description.rb +6 -4
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +2 -5
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -3
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -3
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -2
- data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +1 -2
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +1 -3
- data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -2
- data/lib/rubocop/cop/layout/argument_alignment.rb +2 -4
- data/lib/rubocop/cop/layout/assignment_indentation.rb +2 -4
- data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -4
- data/lib/rubocop/cop/layout/block_alignment.rb +7 -19
- data/lib/rubocop/cop/layout/case_indentation.rb +1 -3
- data/lib/rubocop/cop/layout/class_structure.rb +4 -10
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +4 -15
- data/lib/rubocop/cop/layout/comment_indentation.rb +1 -5
- data/lib/rubocop/cop/layout/def_end_alignment.rb +2 -6
- data/lib/rubocop/cop/layout/dot_position.rb +1 -3
- data/lib/rubocop/cop/layout/else_alignment.rb +1 -3
- data/lib/rubocop/cop/layout/empty_comment.rb +5 -12
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -8
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -6
- data/lib/rubocop/cop/layout/empty_lines.rb +1 -3
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +8 -18
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -8
- data/lib/rubocop/cop/layout/end_alignment.rb +1 -2
- data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
- data/lib/rubocop/cop/layout/extra_spacing.rb +3 -7
- data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -2
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -2
- data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +2 -5
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -2
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -2
- data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -2
- data/lib/rubocop/cop/layout/hash_alignment.rb +3 -6
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -9
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -6
- data/lib/rubocop/cop/layout/indentation_style.rb +1 -3
- data/lib/rubocop/cop/layout/indentation_width.rb +1 -2
- data/lib/rubocop/cop/layout/initial_indentation.rb +1 -4
- data/lib/rubocop/cop/layout/line_length.rb +4 -15
- data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -2
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +7 -15
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -2
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -2
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +16 -10
- data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +4 -0
- data/lib/rubocop/cop/layout/redundant_line_break.rb +125 -0
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
- data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
- data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
- data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -6
- data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -2
- data/lib/rubocop/cop/layout/space_before_brackets.rb +1 -3
- data/lib/rubocop/cop/layout/space_before_comment.rb +1 -3
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +5 -11
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -4
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -10
- data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +2 -7
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -10
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -2
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -2
- data/lib/rubocop/cop/legacy/corrections_proxy.rb +2 -8
- data/lib/rubocop/cop/legacy/corrector.rb +1 -3
- data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -6
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +14 -7
- data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -2
- data/lib/rubocop/cop/lint/constant_resolution.rb +1 -2
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +2 -4
- data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +2 -5
- data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -2
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
- data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -7
- data/lib/rubocop/cop/lint/else_layout.rb +1 -3
- data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
- data/lib/rubocop/cop/lint/empty_file.rb +1 -3
- data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
- data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -7
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +3 -6
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -2
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -2
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -7
- data/lib/rubocop/cop/lint/inherit_exception.rb +1 -2
- data/lib/rubocop/cop/lint/interpolation_check.rb +3 -11
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +3 -6
- data/lib/rubocop/cop/lint/loop.rb +1 -2
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +3 -7
- data/lib/rubocop/cop/lint/missing_super.rb +1 -2
- data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -2
- data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -2
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -3
- data/lib/rubocop/cop/lint/number_conversion.rb +3 -4
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
- data/lib/rubocop/cop/lint/raise_exception.rb +1 -2
- data/lib/rubocop/cop/lint/rand_one.rb +1 -2
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +8 -20
- data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +1 -3
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +3 -7
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -2
- data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -4
- data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -4
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -3
- data/lib/rubocop/cop/lint/require_parentheses.rb +2 -4
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -2
- data/lib/rubocop/cop/lint/rescue_type.rb +2 -7
- data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -2
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -2
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -2
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +2 -7
- data/lib/rubocop/cop/lint/shadowed_argument.rb +4 -11
- data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
- data/lib/rubocop/cop/lint/struct_new_override.rb +1 -2
- data/lib/rubocop/cop/lint/symbol_conversion.rb +2 -4
- data/lib/rubocop/cop/lint/syntax.rb +1 -3
- data/lib/rubocop/cop/lint/to_json.rb +1 -2
- data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -3
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -3
- data/lib/rubocop/cop/lint/unreachable_code.rb +2 -5
- data/lib/rubocop/cop/lint/unreachable_loop.rb +2 -5
- data/lib/rubocop/cop/lint/unused_block_argument.rb +4 -8
- data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -2
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -4
- data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
- data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -3
- data/lib/rubocop/cop/lint/void.rb +4 -11
- data/lib/rubocop/cop/message_annotator.rb +1 -3
- data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
- data/lib/rubocop/cop/metrics/class_length.rb +1 -3
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
- data/lib/rubocop/cop/metrics/module_length.rb +2 -6
- data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -5
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -2
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4 -7
- data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +2 -7
- data/lib/rubocop/cop/migration/department_name.rb +3 -7
- data/lib/rubocop/cop/mixin/alignment.rb +2 -4
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
- data/lib/rubocop/cop/mixin/code_length.rb +1 -3
- data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +2 -2
- data/lib/rubocop/cop/mixin/configurable_formatting.rb +3 -8
- data/lib/rubocop/cop/mixin/def_node.rb +2 -5
- data/lib/rubocop/cop/mixin/documentation_comment.rb +2 -5
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -7
- data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -3
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
- data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -6
- data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -9
- data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +3 -6
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +7 -22
- data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
- data/lib/rubocop/cop/mixin/line_length_help.rb +2 -4
- data/lib/rubocop/cop/mixin/match_range.rb +2 -5
- data/lib/rubocop/cop/mixin/method_complexity.rb +1 -3
- data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
- data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +1 -2
- data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -37
- data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
- data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -2
- data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -4
- data/lib/rubocop/cop/mixin/percent_array.rb +1 -3
- data/lib/rubocop/cop/mixin/percent_literal.rb +0 -6
- data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +5 -11
- data/lib/rubocop/cop/mixin/preferred_delimiters.rb +3 -6
- data/lib/rubocop/cop/mixin/range_help.rb +10 -13
- data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
- data/lib/rubocop/cop/mixin/safe_assignment.rb +1 -2
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
- data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
- data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +3 -7
- data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -2
- data/lib/rubocop/cop/naming/file_name.rb +7 -16
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -3
- data/lib/rubocop/cop/naming/method_name.rb +1 -2
- data/lib/rubocop/cop/naming/predicate_name.rb +1 -2
- data/lib/rubocop/cop/offense.rb +3 -8
- data/lib/rubocop/cop/registry.rb +3 -11
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +2 -4
- data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
- data/lib/rubocop/cop/style/alias.rb +5 -12
- data/lib/rubocop/cop/style/and_or.rb +3 -1
- data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -3
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
- data/lib/rubocop/cop/style/attr.rb +1 -3
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
- data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -3
- data/lib/rubocop/cop/style/case_like_if.rb +1 -2
- data/lib/rubocop/cop/style/character_literal.rb +2 -4
- data/lib/rubocop/cop/style/class_and_module_children.rb +3 -6
- data/lib/rubocop/cop/style/class_methods.rb +1 -3
- data/lib/rubocop/cop/style/collection_compact.rb +1 -3
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -3
- data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
- data/lib/rubocop/cop/style/command_literal.rb +3 -8
- data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
- data/lib/rubocop/cop/style/commented_keyword.rb +7 -13
- data/lib/rubocop/cop/style/conditional_assignment.rb +10 -24
- data/lib/rubocop/cop/style/copyright.rb +3 -6
- data/lib/rubocop/cop/style/date_time.rb +2 -5
- data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -2
- data/lib/rubocop/cop/style/empty_case_condition.rb +2 -7
- data/lib/rubocop/cop/style/empty_else.rb +3 -9
- data/lib/rubocop/cop/style/empty_literal.rb +4 -8
- data/lib/rubocop/cop/style/empty_method.rb +3 -7
- data/lib/rubocop/cop/style/end_block.rb +1 -2
- data/lib/rubocop/cop/style/endless_method.rb +1 -3
- data/lib/rubocop/cop/style/eval_with_location.rb +2 -4
- data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -3
- data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -4
- data/lib/rubocop/cop/style/format_string_token.rb +1 -4
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -11
- data/lib/rubocop/cop/style/guard_clause.rb +3 -7
- data/lib/rubocop/cop/style/hash_conversion.rb +31 -3
- data/lib/rubocop/cop/style/hash_each_methods.rb +1 -2
- data/lib/rubocop/cop/style/hash_like_case.rb +1 -2
- data/lib/rubocop/cop/style/hash_syntax.rb +4 -9
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +41 -13
- data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
- data/lib/rubocop/cop/style/inverse_methods.rb +3 -7
- data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
- data/lib/rubocop/cop/style/lambda.rb +2 -4
- data/lib/rubocop/cop/style/lambda_call.rb +1 -2
- data/lib/rubocop/cop/style/line_end_concatenation.rb +5 -12
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +7 -3
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +10 -18
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -2
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
- data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -8
- data/lib/rubocop/cop/style/min_max.rb +1 -2
- data/lib/rubocop/cop/style/missing_else.rb +2 -4
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -2
- data/lib/rubocop/cop/style/mixin_grouping.rb +4 -10
- data/lib/rubocop/cop/style/mixin_usage.rb +1 -2
- data/lib/rubocop/cop/style/module_function.rb +3 -6
- data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
- data/lib/rubocop/cop/style/multiline_method_signature.rb +11 -6
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
- data/lib/rubocop/cop/style/multiple_comparison.rb +2 -4
- data/lib/rubocop/cop/style/mutable_constant.rb +4 -10
- data/lib/rubocop/cop/style/negated_if.rb +1 -2
- data/lib/rubocop/cop/style/negated_unless.rb +1 -2
- data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
- data/lib/rubocop/cop/style/next.rb +4 -9
- data/lib/rubocop/cop/style/non_nil_check.rb +2 -5
- data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
- data/lib/rubocop/cop/style/numeric_predicate.rb +2 -7
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
- data/lib/rubocop/cop/style/option_hash.rb +1 -3
- data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
- data/lib/rubocop/cop/style/or_assignment.rb +2 -6
- data/lib/rubocop/cop/style/parallel_assignment.rb +6 -9
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -3
- data/lib/rubocop/cop/style/percent_q_literals.rb +1 -2
- data/lib/rubocop/cop/style/perl_backrefs.rb +2 -9
- data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -4
- data/lib/rubocop/cop/style/proc.rb +1 -2
- data/lib/rubocop/cop/style/raise_args.rb +4 -8
- data/lib/rubocop/cop/style/random_with_offset.rb +3 -8
- data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
- data/lib/rubocop/cop/style/redundant_assignment.rb +1 -3
- data/lib/rubocop/cop/style/redundant_begin.rb +15 -4
- data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -2
- data/lib/rubocop/cop/style/redundant_condition.rb +2 -5
- data/lib/rubocop/cop/style/redundant_conditional.rb +3 -6
- data/lib/rubocop/cop/style/redundant_exception.rb +3 -6
- data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
- data/lib/rubocop/cop/style/redundant_freeze.rb +1 -2
- data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
- data/lib/rubocop/cop/style/redundant_parentheses.rb +8 -20
- data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -2
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -4
- data/lib/rubocop/cop/style/redundant_return.rb +3 -5
- data/lib/rubocop/cop/style/redundant_self.rb +2 -6
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +2 -2
- data/lib/rubocop/cop/style/redundant_sort.rb +2 -5
- data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
- data/lib/rubocop/cop/style/rescue_modifier.rb +4 -0
- data/lib/rubocop/cop/style/rescue_standard_error.rb +3 -7
- data/lib/rubocop/cop/style/return_nil.rb +1 -2
- data/lib/rubocop/cop/style/safe_navigation.rb +10 -21
- data/lib/rubocop/cop/style/send.rb +1 -2
- data/lib/rubocop/cop/style/signal_exception.rb +3 -7
- data/lib/rubocop/cop/style/single_argument_dig.rb +1 -2
- data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
- data/lib/rubocop/cop/style/single_line_methods.rb +16 -4
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +1 -2
- data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
- data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
- data/lib/rubocop/cop/style/stderr_puts.rb +2 -6
- data/lib/rubocop/cop/style/string_chars.rb +2 -1
- data/lib/rubocop/cop/style/string_concatenation.rb +8 -10
- data/lib/rubocop/cop/style/string_literals.rb +2 -5
- data/lib/rubocop/cop/style/struct_inheritance.rb +9 -1
- data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
- data/lib/rubocop/cop/style/symbol_proc.rb +4 -9
- data/lib/rubocop/cop/style/ternary_parentheses.rb +3 -6
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -2
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
- data/lib/rubocop/cop/style/trivial_accessors.rb +2 -4
- data/lib/rubocop/cop/style/unless_else.rb +1 -2
- data/lib/rubocop/cop/style/unless_logical_operators.rb +2 -2
- data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/when_then.rb +1 -3
- data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
- data/lib/rubocop/cop/style/word_array.rb +1 -2
- data/lib/rubocop/cop/style/yoda_condition.rb +3 -11
- data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -2
- data/lib/rubocop/cop/team.rb +2 -5
- data/lib/rubocop/cop/util.rb +8 -11
- data/lib/rubocop/cop/utils/format_string.rb +1 -3
- data/lib/rubocop/cop/variable_force.rb +6 -15
- data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -2
- data/lib/rubocop/cop/variable_force/reference.rb +1 -3
- data/lib/rubocop/cop/variable_force/scope.rb +4 -8
- data/lib/rubocop/cop/variable_force/variable.rb +2 -4
- data/lib/rubocop/cops_documentation_generator.rb +7 -21
- data/lib/rubocop/directive_comment.rb +5 -0
- data/lib/rubocop/file_finder.rb +1 -3
- data/lib/rubocop/formatter/clang_style_formatter.rb +4 -2
- data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
- data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
- data/lib/rubocop/formatter/html_formatter.rb +4 -10
- data/lib/rubocop/formatter/json_formatter.rb +1 -5
- data/lib/rubocop/formatter/junit_formatter.rb +3 -9
- data/lib/rubocop/formatter/progress_formatter.rb +1 -3
- data/lib/rubocop/formatter/tap_formatter.rb +4 -2
- data/lib/rubocop/options.rb +27 -41
- data/lib/rubocop/path_util.rb +1 -3
- data/lib/rubocop/rake_task.rb +3 -0
- data/lib/rubocop/remote_config.rb +4 -7
- data/lib/rubocop/result_cache.rb +5 -12
- data/lib/rubocop/rspec/cop_helper.rb +1 -1
- data/lib/rubocop/rspec/expect_offense.rb +4 -9
- data/lib/rubocop/rspec/shared_contexts.rb +4 -15
- data/lib/rubocop/runner.rb +7 -14
- data/lib/rubocop/target_finder.rb +11 -16
- data/lib/rubocop/target_ruby.rb +4 -8
- data/lib/rubocop/version.rb +1 -1
- metadata +5 -5
- data/lib/rubocop/core_ext/hash.rb +0 -20
@@ -16,8 +16,7 @@ module RuboCop
|
|
16
16
|
class BinaryOperatorParameterName < Base
|
17
17
|
extend AutoCorrector
|
18
18
|
|
19
|
-
MSG = 'When defining the `%<opr>s` operator, '
|
20
|
-
'name its argument `other`.'
|
19
|
+
MSG = 'When defining the `%<opr>s` operator, name its argument `other`.'
|
21
20
|
|
22
21
|
OP_LIKE_METHODS = %i[eql? equal?].freeze
|
23
22
|
EXCLUDED = %i[+@ -@ [] []= << === ` =~].freeze
|
@@ -27,22 +27,17 @@ module RuboCop
|
|
27
27
|
class FileName < Base
|
28
28
|
include RangeHelp
|
29
29
|
|
30
|
-
MSG_SNAKE_CASE = 'The name of this source file (`%<basename>s`) '
|
31
|
-
|
32
|
-
MSG_NO_DEFINITION = '%<basename>s should define a class or module ' \
|
33
|
-
'called `%<namespace>s`.'
|
30
|
+
MSG_SNAKE_CASE = 'The name of this source file (`%<basename>s`) should use snake_case.'
|
31
|
+
MSG_NO_DEFINITION = '%<basename>s should define a class or module called `%<namespace>s`.'
|
34
32
|
MSG_REGEX = '`%<basename>s` should match `%<regex>s`.'
|
35
33
|
|
36
34
|
SNAKE_CASE = /^[\d[[:lower:]]_.?!]+$/.freeze
|
37
35
|
|
38
36
|
def on_new_investigation
|
39
37
|
file_path = processed_source.file_path
|
40
|
-
return if config.file_to_exclude?(file_path) ||
|
41
|
-
config.allowed_camel_case_file?(file_path)
|
38
|
+
return if config.file_to_exclude?(file_path) || config.allowed_camel_case_file?(file_path)
|
42
39
|
|
43
|
-
for_bad_filename(file_path)
|
44
|
-
add_offense(range, message: msg)
|
45
|
-
end
|
40
|
+
for_bad_filename(file_path) { |range, msg| add_offense(range, message: msg) }
|
46
41
|
end
|
47
42
|
|
48
43
|
private
|
@@ -62,8 +57,7 @@ module RuboCop
|
|
62
57
|
def perform_class_and_module_naming_checks(file_path, basename)
|
63
58
|
return unless expect_matching_definition?
|
64
59
|
|
65
|
-
if check_definition_path_hierarchy? &&
|
66
|
-
!matching_definition?(file_path)
|
60
|
+
if check_definition_path_hierarchy? && !matching_definition?(file_path)
|
67
61
|
msg = no_definition_message(basename, file_path)
|
68
62
|
elsif !matching_class?(basename)
|
69
63
|
msg = no_definition_message(basename, basename)
|
@@ -136,8 +130,7 @@ module RuboCop
|
|
136
130
|
|
137
131
|
const_namespace, const_name = *const
|
138
132
|
next if name != const_name && !match_acronym?(name, const_name)
|
139
|
-
next unless namespace.empty? ||
|
140
|
-
match_namespace(child, const_namespace, namespace)
|
133
|
+
next unless namespace.empty? || match_namespace(child, const_namespace, namespace)
|
141
134
|
|
142
135
|
return node
|
143
136
|
end
|
@@ -181,9 +174,7 @@ module RuboCop
|
|
181
174
|
expected = expected.to_s
|
182
175
|
name = name.to_s
|
183
176
|
|
184
|
-
allowed_acronyms.any?
|
185
|
-
expected.gsub(acronym.capitalize, acronym) == name
|
186
|
-
end
|
177
|
+
allowed_acronyms.any? { |acronym| expected.gsub(acronym.capitalize, acronym) == name }
|
187
178
|
end
|
188
179
|
|
189
180
|
def to_namespace(path)
|
@@ -247,8 +247,7 @@ module RuboCop
|
|
247
247
|
def message(variable)
|
248
248
|
variable_name = variable.to_s.sub('@', '')
|
249
249
|
|
250
|
-
return UNDERSCORE_REQUIRED if style == :required &&
|
251
|
-
!variable_name.start_with?('_')
|
250
|
+
return UNDERSCORE_REQUIRED if style == :required && !variable_name.start_with?('_')
|
252
251
|
|
253
252
|
MSG
|
254
253
|
end
|
@@ -260,7 +259,7 @@ module RuboCop
|
|
260
259
|
end
|
261
260
|
|
262
261
|
def variable_name_candidates(method_name)
|
263
|
-
no_underscore = method_name.
|
262
|
+
no_underscore = method_name.delete_prefix('_')
|
264
263
|
with_underscore = "_#{method_name}"
|
265
264
|
case style
|
266
265
|
when :required
|
@@ -53,8 +53,7 @@ module RuboCop
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def on_def(node)
|
56
|
-
return if node.operator_method? ||
|
57
|
-
matches_ignored_pattern?(node.method_name)
|
56
|
+
return if node.operator_method? || matches_ignored_pattern?(node.method_name)
|
58
57
|
|
59
58
|
check_name(node, node.method_name, node.loc.name)
|
60
59
|
end
|
data/lib/rubocop/cop/offense.rb
CHANGED
@@ -7,8 +7,7 @@ module RuboCop
|
|
7
7
|
include Comparable
|
8
8
|
|
9
9
|
# @api private
|
10
|
-
COMPARISON_ATTRIBUTES = %i[line column cop_name
|
11
|
-
message severity].freeze
|
10
|
+
COMPARISON_ATTRIBUTES = %i[line column cop_name message severity].freeze
|
12
11
|
|
13
12
|
# @api public
|
14
13
|
#
|
@@ -141,9 +140,7 @@ module RuboCop
|
|
141
140
|
# @return [Parser::Source::Range]
|
142
141
|
# the range of the code that is highlighted
|
143
142
|
def highlighted_area
|
144
|
-
Parser::Source::Range.new(source_line,
|
145
|
-
column,
|
146
|
-
column + column_length)
|
143
|
+
Parser::Source::Range.new(source_line, column, column + column_length)
|
147
144
|
end
|
148
145
|
|
149
146
|
# @api private
|
@@ -220,9 +217,7 @@ module RuboCop
|
|
220
217
|
alias eql? ==
|
221
218
|
|
222
219
|
def hash
|
223
|
-
COMPARISON_ATTRIBUTES.reduce(0)
|
224
|
-
hash ^ public_send(attribute).hash
|
225
|
-
end
|
220
|
+
COMPARISON_ATTRIBUTES.reduce(0) { |hash, attribute| hash ^ public_send(attribute).hash }
|
226
221
|
end
|
227
222
|
|
228
223
|
# @api public
|
data/lib/rubocop/cop/registry.rb
CHANGED
@@ -10,12 +10,7 @@ module RuboCop
|
|
10
10
|
|
11
11
|
def initialize(name, origin, badges)
|
12
12
|
super(
|
13
|
-
format(
|
14
|
-
MSG,
|
15
|
-
name: name,
|
16
|
-
origin: origin,
|
17
|
-
options: badges.to_a.join(' or ')
|
18
|
-
)
|
13
|
+
format(MSG, name: name, origin: origin, options: badges.to_a.join(' or '))
|
19
14
|
)
|
20
15
|
end
|
21
16
|
end
|
@@ -155,16 +150,13 @@ module RuboCop
|
|
155
150
|
end
|
156
151
|
|
157
152
|
def enabled(config, only = [], only_safe: false)
|
158
|
-
select
|
159
|
-
only.include?(cop.cop_name) || enabled?(cop, config, only_safe)
|
160
|
-
end
|
153
|
+
select { |cop| only.include?(cop.cop_name) || enabled?(cop, config, only_safe) }
|
161
154
|
end
|
162
155
|
|
163
156
|
def enabled?(cop, config, only_safe)
|
164
157
|
cfg = config.for_cop(cop)
|
165
158
|
|
166
|
-
cop_enabled = cfg.fetch('Enabled') == true ||
|
167
|
-
enabled_pending_cop?(cfg, config)
|
159
|
+
cop_enabled = cfg.fetch('Enabled') == true || enabled_pending_cop?(cfg, config)
|
168
160
|
|
169
161
|
if only_safe
|
170
162
|
cop_enabled && cfg.fetch('Safe', true)
|
@@ -47,7 +47,7 @@ module RuboCop
|
|
47
47
|
#
|
48
48
|
# end
|
49
49
|
#
|
50
|
-
# @example AllowModifiersOnSymbols: true
|
50
|
+
# @example AllowModifiersOnSymbols: true (default)
|
51
51
|
# # good
|
52
52
|
# class Foo
|
53
53
|
#
|
@@ -88,9 +88,7 @@ module RuboCop
|
|
88
88
|
return if allow_modifiers_on_symbols?(node)
|
89
89
|
|
90
90
|
if offense?(node)
|
91
|
-
add_offense(node.loc.selector)
|
92
|
-
opposite_style_detected
|
93
|
-
end
|
91
|
+
add_offense(node.loc.selector) { opposite_style_detected }
|
94
92
|
else
|
95
93
|
correct_style_detected
|
96
94
|
end
|
@@ -129,9 +129,7 @@ module RuboCop
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def group_accessors(node, accessors)
|
132
|
-
accessor_names = accessors.flat_map
|
133
|
-
accessor.arguments.map(&:source)
|
134
|
-
end
|
132
|
+
accessor_names = accessors.flat_map { |accessor| accessor.arguments.map(&:source) }
|
135
133
|
|
136
134
|
"#{node.method_name} #{accessor_names.join(', ')}"
|
137
135
|
end
|
@@ -27,10 +27,8 @@ module RuboCop
|
|
27
27
|
extend AutoCorrector
|
28
28
|
|
29
29
|
MSG_ALIAS = 'Use `alias_method` instead of `alias`.'
|
30
|
-
MSG_ALIAS_METHOD = 'Use `alias` instead of `alias_method` '
|
31
|
-
|
32
|
-
MSG_SYMBOL_ARGS = 'Use `alias %<prefer>s` instead of ' \
|
33
|
-
'`alias %<current>s`.'
|
30
|
+
MSG_ALIAS_METHOD = 'Use `alias` instead of `alias_method` %<current>s.'
|
31
|
+
MSG_SYMBOL_ARGS = 'Use `alias %<prefer>s` instead of `alias %<current>s`.'
|
34
32
|
|
35
33
|
RESTRICT_ON_SEND = %i[alias_method].freeze
|
36
34
|
|
@@ -52,9 +50,7 @@ module RuboCop
|
|
52
50
|
autocorrect(corrector, node)
|
53
51
|
end
|
54
52
|
elsif node.children.none? { |arg| bareword?(arg) }
|
55
|
-
add_offense_for_args(node)
|
56
|
-
autocorrect(corrector, node)
|
57
|
-
end
|
53
|
+
add_offense_for_args(node) { |corrector| autocorrect(corrector, node) }
|
58
54
|
end
|
59
55
|
end
|
60
56
|
|
@@ -75,17 +71,14 @@ module RuboCop
|
|
75
71
|
end
|
76
72
|
|
77
73
|
def alias_method_possible?(node)
|
78
|
-
scope_type(node) != :instance_eval &&
|
79
|
-
node.children.none?(&:gvar_type?)
|
74
|
+
scope_type(node) != :instance_eval && node.children.none?(&:gvar_type?)
|
80
75
|
end
|
81
76
|
|
82
77
|
def add_offense_for_args(node, &block)
|
83
78
|
existing_args = node.children.map(&:source).join(' ')
|
84
79
|
preferred_args = node.children.map { |a| a.source[1..-1] }.join(' ')
|
85
80
|
arg_ranges = node.children.map(&:source_range)
|
86
|
-
msg = format(MSG_SYMBOL_ARGS,
|
87
|
-
prefer: preferred_args,
|
88
|
-
current: existing_args)
|
81
|
+
msg = format(MSG_SYMBOL_ARGS, prefer: preferred_args, current: existing_args)
|
89
82
|
add_offense(arg_ranges.reduce(&:join), message: msg, &block)
|
90
83
|
end
|
91
84
|
|
@@ -94,7 +94,9 @@ module RuboCop
|
|
94
94
|
|
95
95
|
return unless correctable_send?(node)
|
96
96
|
|
97
|
-
|
97
|
+
whitespace_before_arg_range = whitespace_before_arg(node)
|
98
|
+
corrector.remove(whitespace_before_arg_range)
|
99
|
+
corrector.insert_before(whitespace_before_arg_range, '(')
|
98
100
|
corrector.insert_after(node.last_argument, ')')
|
99
101
|
end
|
100
102
|
|
@@ -107,9 +107,7 @@ module RuboCop
|
|
107
107
|
begin_pos = forwarding_method.source_range.begin_pos
|
108
108
|
end_pos = forwarding_method.source_range.end_pos
|
109
109
|
|
110
|
-
lvars.all?
|
111
|
-
lvar.source_range.begin_pos.between?(begin_pos, end_pos)
|
112
|
-
end
|
110
|
+
lvars.all? { |lvar| lvar.source_range.begin_pos.between?(begin_pos, end_pos) }
|
113
111
|
end
|
114
112
|
|
115
113
|
def register_offense_to_forwarding_method_arguments(forwarding_method)
|
@@ -35,8 +35,7 @@ module RuboCop
|
|
35
35
|
expression = comment.loc.expression
|
36
36
|
first_offense = first_non_ascii_chars(comment.text)
|
37
37
|
|
38
|
-
start_position = expression.begin_pos +
|
39
|
-
comment.text.index(first_offense)
|
38
|
+
start_position = expression.begin_pos + comment.text.index(first_offense)
|
40
39
|
end_position = start_position + first_offense.length
|
41
40
|
|
42
41
|
range_between(start_position, end_position)
|
@@ -24,9 +24,7 @@ module RuboCop
|
|
24
24
|
def on_send(node)
|
25
25
|
return unless node.command?(:attr) && node.arguments?
|
26
26
|
# check only for method definitions in class/module body
|
27
|
-
return if node.parent &&
|
28
|
-
!node.parent.class_type? &&
|
29
|
-
!class_eval?(node.parent)
|
27
|
+
return if node.parent && !node.parent.class_type? && !class_eval?(node.parent)
|
30
28
|
|
31
29
|
message = message(node)
|
32
30
|
add_offense(node.loc.selector, message: message) do |corrector|
|
@@ -19,9 +19,7 @@ module RuboCop
|
|
19
19
|
class AutoResourceCleanup < Base
|
20
20
|
MSG = 'Use the block version of `%<class>s.%<method>s`.'
|
21
21
|
|
22
|
-
TARGET_METHODS = {
|
23
|
-
File: :open
|
24
|
-
}.freeze
|
22
|
+
TARGET_METHODS = { File: :open }.freeze
|
25
23
|
|
26
24
|
RESTRICT_ON_SEND = TARGET_METHODS.values.freeze
|
27
25
|
|
@@ -42,8 +40,7 @@ module RuboCop
|
|
42
40
|
|
43
41
|
def cleanup?(node)
|
44
42
|
parent = node.parent
|
45
|
-
node.block_argument? ||
|
46
|
-
(parent && (parent.block_type? || !parent.lvasgn_type?))
|
43
|
+
node.block_argument? || (parent && (parent.block_type? || !parent.lvasgn_type?))
|
47
44
|
end
|
48
45
|
end
|
49
46
|
end
|
@@ -221,8 +221,7 @@ module RuboCop
|
|
221
221
|
name = node.children[1].to_s
|
222
222
|
|
223
223
|
# We can no be sure if, e.g. `C`, represents a constant or a class reference
|
224
|
-
name.length > 1 &&
|
225
|
-
name == name.upcase
|
224
|
+
name.length > 1 && name == name.upcase
|
226
225
|
end
|
227
226
|
|
228
227
|
def class_reference?(node)
|
@@ -18,13 +18,11 @@ module RuboCop
|
|
18
18
|
include StringHelp
|
19
19
|
extend AutoCorrector
|
20
20
|
|
21
|
-
MSG = 'Do not use the character literal - '
|
22
|
-
'use string literal instead.'
|
21
|
+
MSG = 'Do not use the character literal - use string literal instead.'
|
23
22
|
|
24
23
|
def offense?(node)
|
25
24
|
# we don't register an offense for things like ?\C-\M-d
|
26
|
-
node.loc.begin.is?('?') &&
|
27
|
-
node.source.size.between?(2, 3)
|
25
|
+
node.loc.begin.is?('?') && node.source.size.between?(2, 3)
|
28
26
|
end
|
29
27
|
|
30
28
|
def autocorrect(corrector, node)
|
@@ -26,10 +26,8 @@ module RuboCop
|
|
26
26
|
include RangeHelp
|
27
27
|
extend AutoCorrector
|
28
28
|
|
29
|
-
NESTED_MSG = 'Use nested module/class definitions instead of '
|
30
|
-
|
31
|
-
COMPACT_MSG = 'Use compact module/class definition instead of ' \
|
32
|
-
'nested style.'
|
29
|
+
NESTED_MSG = 'Use nested module/class definitions instead of compact style.'
|
30
|
+
COMPACT_MSG = 'Use compact module/class definition instead of nested style.'
|
33
31
|
|
34
32
|
def on_class(node)
|
35
33
|
return if node.parent_class && style != :nested
|
@@ -90,8 +88,7 @@ module RuboCop
|
|
90
88
|
|
91
89
|
def compact_node(corrector, node)
|
92
90
|
replacement = "#{node.body.type} #{compact_identifier_name(node)}"
|
93
|
-
range = range_between(node.loc.keyword.begin_pos,
|
94
|
-
node.body.loc.name.end_pos)
|
91
|
+
range = range_between(node.loc.keyword.begin_pos, node.body.loc.name.end_pos)
|
95
92
|
corrector.replace(range, replacement)
|
96
93
|
end
|
97
94
|
|
@@ -31,9 +31,7 @@ module RuboCop
|
|
31
31
|
if node.body.defs_type?
|
32
32
|
check_defs(node.identifier, node.body)
|
33
33
|
elsif node.body.begin_type?
|
34
|
-
node.body.each_child_node(:defs)
|
35
|
-
check_defs(node.identifier, def_node)
|
36
|
-
end
|
34
|
+
node.body.each_child_node(:defs) { |def_node| check_defs(node.identifier, def_node) }
|
37
35
|
end
|
38
36
|
end
|
39
37
|
alias on_module on_class
|
@@ -69,9 +69,7 @@ module RuboCop
|
|
69
69
|
good = good_method_name(method_name)
|
70
70
|
message = format(MSG, good: good, bad: range.source)
|
71
71
|
|
72
|
-
add_offense(range, message: message)
|
73
|
-
corrector.replace(range, good)
|
74
|
-
end
|
72
|
+
add_offense(range, message: message) { |corrector| corrector.replace(range, good) }
|
75
73
|
end
|
76
74
|
|
77
75
|
private
|
@@ -38,9 +38,7 @@ module RuboCop
|
|
38
38
|
# ignore Java interop code like Java::int
|
39
39
|
return if java_type_node?(node)
|
40
40
|
|
41
|
-
add_offense(node.loc.dot)
|
42
|
-
corrector.replace(node.loc.dot, '.')
|
43
|
-
end
|
41
|
+
add_offense(node.loc.dot) { |corrector| corrector.replace(node.loc.dot, '.') }
|
44
42
|
end
|
45
43
|
end
|
46
44
|
end
|
@@ -75,8 +75,9 @@ module RuboCop
|
|
75
75
|
private
|
76
76
|
|
77
77
|
def collection_looping_method?(node)
|
78
|
-
|
79
|
-
method_name
|
78
|
+
# TODO: Remove `Symbol#to_s` after supporting only Ruby >= 2.7.
|
79
|
+
method_name = node.send_node.method_name.to_s
|
80
|
+
method_name.start_with?('each') || method_name.end_with?('_each')
|
80
81
|
end
|
81
82
|
|
82
83
|
def same_collection_looping?(node, sibling)
|
@@ -97,17 +97,13 @@ module RuboCop
|
|
97
97
|
def check_backtick_literal(node, message)
|
98
98
|
return if allowed_backtick_literal?(node)
|
99
99
|
|
100
|
-
add_offense(node, message: message)
|
101
|
-
autocorrect(corrector, node)
|
102
|
-
end
|
100
|
+
add_offense(node, message: message) { |corrector| autocorrect(corrector, node) }
|
103
101
|
end
|
104
102
|
|
105
103
|
def check_percent_x_literal(node, message)
|
106
104
|
return if allowed_percent_x_literal?(node)
|
107
105
|
|
108
|
-
add_offense(node, message: message)
|
109
|
-
autocorrect(corrector, node)
|
110
|
-
end
|
106
|
+
add_offense(node, message: message) { |corrector| autocorrect(corrector, node) }
|
111
107
|
end
|
112
108
|
|
113
109
|
def autocorrect(corrector, node)
|
@@ -177,8 +173,7 @@ module RuboCop
|
|
177
173
|
end
|
178
174
|
|
179
175
|
def preferred_delimiters_config
|
180
|
-
config.for_cop('Style/PercentLiteralDelimiters')
|
181
|
-
['PreferredDelimiters']
|
176
|
+
config.for_cop('Style/PercentLiteralDelimiters') ['PreferredDelimiters']
|
182
177
|
end
|
183
178
|
end
|
184
179
|
end
|