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
@@ -24,8 +24,7 @@ module RuboCop
|
|
24
24
|
class BooleanSymbol < Base
|
25
25
|
extend AutoCorrector
|
26
26
|
|
27
|
-
MSG = 'Symbol with a boolean name - '
|
28
|
-
'you probably meant to use `%<boolean>s`.'
|
27
|
+
MSG = 'Symbol with a boolean name - you probably meant to use `%<boolean>s`.'
|
29
28
|
|
30
29
|
# @!method boolean_symbol?(node)
|
31
30
|
def_node_matcher :boolean_symbol?, '(sym {:true :false})'
|
@@ -73,8 +73,7 @@ module RuboCop
|
|
73
73
|
|
74
74
|
def const_name?(name)
|
75
75
|
name = name.to_s
|
76
|
-
(allowed_names.empty? || allowed_names.include?(name)) &&
|
77
|
-
!ignored_names.include?(name)
|
76
|
+
(allowed_names.empty? || allowed_names.include?(name)) && !ignored_names.include?(name)
|
78
77
|
end
|
79
78
|
|
80
79
|
def allowed_names
|
@@ -58,8 +58,7 @@ module RuboCop
|
|
58
58
|
DeprecatedClassMethod.new(deprecated: :exists?,
|
59
59
|
replacement: :exist?,
|
60
60
|
class_constant: :Dir),
|
61
|
-
DeprecatedClassMethod.new(deprecated: :iterator?,
|
62
|
-
replacement: :block_given?)
|
61
|
+
DeprecatedClassMethod.new(deprecated: :iterator?, replacement: :block_given?)
|
63
62
|
].freeze
|
64
63
|
|
65
64
|
RESTRICT_ON_SEND = DEPRECATED_METHODS_OBJECT.map(&:deprecated_method).freeze
|
@@ -96,8 +95,7 @@ module RuboCop
|
|
96
95
|
|
97
96
|
def method_call(class_constant, method)
|
98
97
|
if class_constant
|
99
|
-
format('%<constant>s.%<method>s', constant: class_constant,
|
100
|
-
method: method)
|
98
|
+
format('%<constant>s.%<method>s', constant: class_constant, method: method)
|
101
99
|
else
|
102
100
|
format('%<method>s', method: method)
|
103
101
|
end
|
@@ -42,7 +42,7 @@ module RuboCop
|
|
42
42
|
# Maybe further investigation of RuboCop AST will lead to an essential solution.
|
43
43
|
return unless node.loc
|
44
44
|
|
45
|
-
constant = node.absolute? ?
|
45
|
+
constant = node.absolute? ? constant_name(node, node.short_name.to_s) : node.source
|
46
46
|
return unless (deprecated_constant = deprecated_constants[constant])
|
47
47
|
|
48
48
|
alternative = deprecated_constant['Alternative']
|
@@ -55,10 +55,10 @@ module RuboCop
|
|
55
55
|
|
56
56
|
private
|
57
57
|
|
58
|
-
def
|
58
|
+
def constant_name(node, nested_constant_name)
|
59
59
|
return nested_constant_name unless node.namespace.const_type?
|
60
60
|
|
61
|
-
|
61
|
+
constant_name(node.namespace, "#{node.namespace.short_name}::#{nested_constant_name}")
|
62
62
|
end
|
63
63
|
|
64
64
|
def message(good, bad, deprecated_version)
|
@@ -41,8 +41,7 @@ module RuboCop
|
|
41
41
|
include RangeHelp
|
42
42
|
extend AutoCorrector
|
43
43
|
|
44
|
-
MSG = 'Use `%<constant>s.%<method>s(%<replacement_args>s)`'
|
45
|
-
' instead of `%<original>s`.'
|
44
|
+
MSG = 'Use `%<constant>s.%<method>s(%<replacement_args>s)` instead of `%<original>s`.'
|
46
45
|
|
47
46
|
NO_ARG_ALGORITHM = %w[BF DES IDEA RC4].freeze
|
48
47
|
|
@@ -62,9 +61,7 @@ module RuboCop
|
|
62
61
|
|
63
62
|
message = message(node)
|
64
63
|
|
65
|
-
add_offense(node, message: message)
|
66
|
-
autocorrect(corrector, node)
|
67
|
-
end
|
64
|
+
add_offense(node, message: message) { |corrector| autocorrect(corrector, node) }
|
68
65
|
end
|
69
66
|
|
70
67
|
private
|
@@ -104,8 +104,7 @@ module RuboCop
|
|
104
104
|
def offense_range(duplicate_branch)
|
105
105
|
parent = duplicate_branch.parent
|
106
106
|
|
107
|
-
if parent.respond_to?(:else_branch) &&
|
108
|
-
parent.else_branch.equal?(duplicate_branch)
|
107
|
+
if parent.respond_to?(:else_branch) && parent.else_branch.equal?(duplicate_branch)
|
109
108
|
if parent.if_type? && parent.ternary?
|
110
109
|
duplicate_branch.source_range
|
111
110
|
else
|
@@ -50,11 +50,9 @@ module RuboCop
|
|
50
50
|
#
|
51
51
|
# alias bar foo
|
52
52
|
class DuplicateMethods < Base
|
53
|
-
MSG = 'Method `%<method>s` is defined at both %<defined>s and '
|
54
|
-
'%<current>s.'
|
53
|
+
MSG = 'Method `%<method>s` is defined at both %<defined>s and %<current>s.'
|
55
54
|
|
56
|
-
RESTRICT_ON_SEND = %i[alias_method attr_reader attr_writer
|
57
|
-
attr_accessor attr].freeze
|
55
|
+
RESTRICT_ON_SEND = %i[alias_method attr_reader attr_writer attr_accessor attr].freeze
|
58
56
|
|
59
57
|
def initialize(config = nil, options = nil)
|
60
58
|
super
|
@@ -192,9 +190,7 @@ module RuboCop
|
|
192
190
|
namespace, mod_name = *ancestor.defined_module
|
193
191
|
loop do
|
194
192
|
if mod_name == const_name
|
195
|
-
return qualified_name(ancestor.parent_module_name,
|
196
|
-
namespace,
|
197
|
-
mod_name)
|
193
|
+
return qualified_name(ancestor.parent_module_name, namespace, mod_name)
|
198
194
|
end
|
199
195
|
|
200
196
|
break if namespace.nil?
|
@@ -74,9 +74,7 @@ module RuboCop
|
|
74
74
|
return unless first_else
|
75
75
|
return unless first_else.source_range.line == node.loc.else.line
|
76
76
|
|
77
|
-
add_offense(first_else)
|
78
|
-
autocorrect(corrector, node, first_else)
|
79
|
-
end
|
77
|
+
add_offense(first_else) { |corrector| autocorrect(corrector, node, first_else) }
|
80
78
|
end
|
81
79
|
|
82
80
|
def autocorrect(corrector, node, first_else)
|
@@ -50,9 +50,7 @@ module RuboCop
|
|
50
50
|
def on_ensure(node)
|
51
51
|
return if node.body
|
52
52
|
|
53
|
-
add_offense(node.loc.keyword)
|
54
|
-
corrector.remove(node.loc.keyword)
|
55
|
-
end
|
53
|
+
add_offense(node.loc.keyword) { |corrector| corrector.remove(node.loc.keyword) }
|
56
54
|
end
|
57
55
|
end
|
58
56
|
end
|
@@ -25,9 +25,7 @@ module RuboCop
|
|
25
25
|
def on_interpolation(begin_node)
|
26
26
|
return unless begin_node.children.empty?
|
27
27
|
|
28
|
-
add_offense(begin_node)
|
29
|
-
corrector.remove(begin_node.loc.expression)
|
30
|
-
end
|
28
|
+
add_offense(begin_node) { |corrector| corrector.remove(begin_node.loc.expression) }
|
31
29
|
end
|
32
30
|
end
|
33
31
|
end
|
@@ -51,9 +51,7 @@ module RuboCop
|
|
51
51
|
MSG = 'Do not return from an `ensure` block.'
|
52
52
|
|
53
53
|
def on_ensure(node)
|
54
|
-
node.body&.each_node(:return)
|
55
|
-
add_offense(return_node)
|
56
|
-
end
|
54
|
+
node.body&.each_node(:return) { |return_node| add_offense(return_node) }
|
57
55
|
end
|
58
56
|
end
|
59
57
|
end
|
@@ -112,16 +112,13 @@ module RuboCop
|
|
112
112
|
kwargs = build_kwargs(node)
|
113
113
|
overridden_kwargs = override_by_legacy_args(kwargs, node)
|
114
114
|
|
115
|
-
good_arguments = [
|
116
|
-
str_arg, overridden_kwargs
|
117
|
-
].flatten.compact.join(', ')
|
115
|
+
good_arguments = [str_arg, overridden_kwargs].flatten.compact.join(', ')
|
118
116
|
|
119
117
|
corrector.replace(arguments_range(node), good_arguments)
|
120
118
|
end
|
121
119
|
|
122
120
|
def correct_arguments?(arguments)
|
123
|
-
arguments.size == 1 ||
|
124
|
-
arguments.size == 2 && arguments[1].hash_type?
|
121
|
+
arguments.size == 1 || arguments.size == 2 && arguments[1].hash_type?
|
125
122
|
end
|
126
123
|
|
127
124
|
def build_kwargs(node)
|
@@ -157,8 +154,7 @@ module RuboCop
|
|
157
154
|
def arguments_range(node)
|
158
155
|
arguments = node.arguments
|
159
156
|
|
160
|
-
range_between(arguments.first.source_range.begin_pos,
|
161
|
-
arguments.last.source_range.end_pos)
|
157
|
+
range_between(arguments.first.source_range.begin_pos, arguments.last.source_range.end_pos)
|
162
158
|
end
|
163
159
|
end
|
164
160
|
end
|
@@ -140,8 +140,7 @@ module RuboCop
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def format_method?(name, node)
|
143
|
-
return false if node.const_receiver? &&
|
144
|
-
!node.receiver.loc.name.is?(KERNEL)
|
143
|
+
return false if node.const_receiver? && !node.receiver.loc.name.is?(KERNEL)
|
145
144
|
return false unless node.method?(name)
|
146
145
|
|
147
146
|
node.arguments.size > 1 && node.first_argument.str_type?
|
@@ -174,11 +173,9 @@ module RuboCop
|
|
174
173
|
receiver = node.receiver
|
175
174
|
|
176
175
|
percent = node.method?(:%) &&
|
177
|
-
(STRING_TYPES.include?(receiver.type) ||
|
178
|
-
node.first_argument.array_type?)
|
176
|
+
(STRING_TYPES.include?(receiver.type) || node.first_argument.array_type?)
|
179
177
|
|
180
|
-
return false if percent && STRING_TYPES.include?(receiver.type) &&
|
181
|
-
heredoc?(node)
|
178
|
+
return false if percent && STRING_TYPES.include?(receiver.type) && heredoc?(node)
|
182
179
|
|
183
180
|
percent
|
184
181
|
end
|
@@ -34,8 +34,7 @@ module RuboCop
|
|
34
34
|
include RangeHelp
|
35
35
|
extend AutoCorrector
|
36
36
|
|
37
|
-
MSG = 'Put a method call with a HEREDOC receiver on the '
|
38
|
-
'same line as the HEREDOC opening.'
|
37
|
+
MSG = 'Put a method call with a HEREDOC receiver on the same line as the HEREDOC opening.'
|
39
38
|
|
40
39
|
def on_send(node)
|
41
40
|
heredoc = heredoc_node_descendent_receiver(node)
|
@@ -73,8 +73,7 @@ module RuboCop
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def string_literal?(node)
|
76
|
-
node.str_type? ||
|
77
|
-
(node.dstr_type? && node.children.all? { |c| string_literal?(c) })
|
76
|
+
node.str_type? || (node.dstr_type? && node.children.all? { |c| string_literal?(c) })
|
78
77
|
end
|
79
78
|
|
80
79
|
def string_literals?(node1, node2)
|
@@ -48,10 +48,8 @@ module RuboCop
|
|
48
48
|
class IneffectiveAccessModifier < Base
|
49
49
|
MSG = '`%<modifier>s` (on line %<line>d) does not make singleton ' \
|
50
50
|
'methods %<modifier>s. Use %<alternative>s instead.'
|
51
|
-
ALTERNATIVE_PRIVATE = '`private_class_method` or `private` inside a '
|
52
|
-
|
53
|
-
ALTERNATIVE_PROTECTED = '`protected` inside a `class << self` ' \
|
54
|
-
'block'
|
51
|
+
ALTERNATIVE_PRIVATE = '`private_class_method` or `private` inside a `class << self` block'
|
52
|
+
ALTERNATIVE_PROTECTED = '`protected` inside a `class << self` block'
|
55
53
|
|
56
54
|
# @!method private_class_methods(node)
|
57
55
|
def_node_search :private_class_methods, <<~PATTERN
|
@@ -74,9 +72,7 @@ module RuboCop
|
|
74
72
|
end
|
75
73
|
|
76
74
|
def private_class_method_names(node)
|
77
|
-
private_class_methods(node).to_a.flatten
|
78
|
-
.select(&:basic_literal?)
|
79
|
-
.map(&:value)
|
75
|
+
private_class_methods(node).to_a.flatten.select(&:basic_literal?).map(&:value)
|
80
76
|
end
|
81
77
|
|
82
78
|
def format_message(modifier)
|
@@ -23,23 +23,16 @@ module RuboCop
|
|
23
23
|
'Use double quoted strings if you need interpolation.'
|
24
24
|
|
25
25
|
def on_str(node)
|
26
|
-
return
|
27
|
-
return if string_or_regex?(node.parent)
|
26
|
+
return if node.parent&.regexp_type?
|
28
27
|
return unless /(?<!\\)#\{.*\}/.match?(node.source)
|
29
28
|
return if heredoc?(node)
|
30
29
|
return unless node.loc.begin && node.loc.end
|
31
30
|
|
32
|
-
add_offense(node)
|
33
|
-
autocorrect(corrector, node)
|
34
|
-
end
|
31
|
+
add_offense(node) { |corrector| autocorrect(corrector, node) }
|
35
32
|
end
|
36
33
|
|
37
34
|
private
|
38
35
|
|
39
|
-
def string_or_regex?(node)
|
40
|
-
node&.dstr_type? || node&.regexp_type?
|
41
|
-
end
|
42
|
-
|
43
36
|
def autocorrect(corrector, node)
|
44
37
|
starting_token, ending_token = if node.source.include?('"')
|
45
38
|
['%{', '}']
|
@@ -52,8 +45,7 @@ module RuboCop
|
|
52
45
|
end
|
53
46
|
|
54
47
|
def heredoc?(node)
|
55
|
-
node.loc.is_a?(Parser::Source::Map::Heredoc) ||
|
56
|
-
(node.parent && heredoc?(node.parent))
|
48
|
+
node.loc.is_a?(Parser::Source::Map::Heredoc) || (node.parent && heredoc?(node.parent))
|
57
49
|
end
|
58
50
|
end
|
59
51
|
end
|
@@ -34,8 +34,7 @@ module RuboCop
|
|
34
34
|
# interpolation should not be removed if the expanded value
|
35
35
|
# contains a space character.
|
36
36
|
expanded_value = autocorrected_value(final_node)
|
37
|
-
return if in_array_percent_literal?(begin_node) &&
|
38
|
-
/\s/.match?(expanded_value)
|
37
|
+
return if in_array_percent_literal?(begin_node) && /\s/.match?(expanded_value)
|
39
38
|
|
40
39
|
add_offense(final_node) do |corrector|
|
41
40
|
return if final_node.dstr_type? # nested, fixed in next iteration
|
@@ -56,8 +55,7 @@ module RuboCop
|
|
56
55
|
|
57
56
|
def special_keyword?(node)
|
58
57
|
# handle strings like __FILE__
|
59
|
-
(node.str_type? && !node.loc.respond_to?(:begin)) ||
|
60
|
-
node.source_range.is?('__LINE__')
|
58
|
+
(node.str_type? && !node.loc.respond_to?(:begin)) || node.source_range.is?('__LINE__')
|
61
59
|
end
|
62
60
|
|
63
61
|
def autocorrected_value(node)
|
@@ -101,8 +99,7 @@ module RuboCop
|
|
101
99
|
# Does node print its own source when converted to a string?
|
102
100
|
def prints_as_self?(node)
|
103
101
|
node.basic_literal? ||
|
104
|
-
(COMPOSITE.include?(node.type) &&
|
105
|
-
node.children.all? { |child| prints_as_self?(child) })
|
102
|
+
(COMPOSITE.include?(node.type) && node.children.all? { |child| prints_as_self?(child) })
|
106
103
|
end
|
107
104
|
|
108
105
|
def space_literal?(node)
|
@@ -49,8 +49,7 @@ module RuboCop
|
|
49
49
|
class Loop < Base
|
50
50
|
extend AutoCorrector
|
51
51
|
|
52
|
-
MSG = 'Use `Kernel#loop` with `break` rather than '
|
53
|
-
'`begin/end/until`(or `while`).'
|
52
|
+
MSG = 'Use `Kernel#loop` with `break` rather than `begin/end/until`(or `while`).'
|
54
53
|
|
55
54
|
def on_while_post(node)
|
56
55
|
register_offense(node)
|
@@ -45,10 +45,8 @@ module RuboCop
|
|
45
45
|
class MissingCopEnableDirective < Base
|
46
46
|
include RangeHelp
|
47
47
|
|
48
|
-
MSG = 'Re-enable %<cop>s cop with `# rubocop:enable` after '
|
49
|
-
|
50
|
-
MSG_BOUND = 'Re-enable %<cop>s cop within %<max_range>s lines after ' \
|
51
|
-
'disabling it.'
|
48
|
+
MSG = 'Re-enable %<cop>s cop with `# rubocop:enable` after disabling it.'
|
49
|
+
MSG_BOUND = 'Re-enable %<cop>s cop within %<max_range>s lines after disabling it.'
|
52
50
|
|
53
51
|
# rubocop:disable Metrics/AbcSize
|
54
52
|
def on_new_investigation
|
@@ -59,9 +57,7 @@ module RuboCop
|
|
59
57
|
# the case when max_range is Float::INFINITY
|
60
58
|
next if line_range.max - line_range.min < max_range + 2
|
61
59
|
|
62
|
-
range = source_range(processed_source.buffer,
|
63
|
-
line_range.min,
|
64
|
-
(0..0))
|
60
|
+
range = source_range(processed_source.buffer, line_range.min, (0..0))
|
65
61
|
|
66
62
|
add_offense(range, message: message(max_range: max_range, cop: cop))
|
67
63
|
end
|
@@ -53,8 +53,7 @@ module RuboCop
|
|
53
53
|
singleton_method_added singleton_method_removed
|
54
54
|
singleton_method_undefined].freeze
|
55
55
|
|
56
|
-
CALLBACKS = (CLASS_LIFECYCLE_CALLBACKS +
|
57
|
-
METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
|
56
|
+
CALLBACKS = (CLASS_LIFECYCLE_CALLBACKS + METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
|
58
57
|
|
59
58
|
def on_def(node)
|
60
59
|
return unless offender?(node)
|
@@ -21,8 +21,7 @@ module RuboCop
|
|
21
21
|
# /(FOO)(BAR)/
|
22
22
|
#
|
23
23
|
class MixedRegexpCaptureTypes < Base
|
24
|
-
MSG = 'Do not mix named captures and numbered captures '
|
25
|
-
'in a Regexp literal.'
|
24
|
+
MSG = 'Do not mix named captures and numbered captures in a Regexp literal.'
|
26
25
|
|
27
26
|
def on_regexp(node)
|
28
27
|
return if node.interpolation?
|
@@ -55,8 +55,7 @@ module RuboCop
|
|
55
55
|
# end
|
56
56
|
# end
|
57
57
|
class NestedMethodDefinition < Base
|
58
|
-
MSG = 'Method definitions must not be nested. '
|
59
|
-
'Use `lambda` instead.'
|
58
|
+
MSG = 'Method definitions must not be nested. Use `lambda` instead.'
|
60
59
|
|
61
60
|
def on_def(node)
|
62
61
|
subject, = *node
|