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
@@ -51,12 +51,8 @@ module RuboCop
|
|
51
51
|
method_def = node.each_descendant(:def, :defs).first
|
52
52
|
expr = node.source_range
|
53
53
|
|
54
|
-
line_start = range_between(expr.begin_pos,
|
55
|
-
|
56
|
-
align_with = {
|
57
|
-
def: method_def.loc.keyword,
|
58
|
-
start_of_line: line_start
|
59
|
-
}
|
54
|
+
line_start = range_between(expr.begin_pos, method_def.loc.keyword.end_pos)
|
55
|
+
align_with = { def: method_def.loc.keyword, start_of_line: line_start }
|
60
56
|
|
61
57
|
check_end_kw_alignment(method_def, align_with)
|
62
58
|
ignore_node(method_def) # Don't check the same `end` again.
|
@@ -35,9 +35,7 @@ module RuboCop
|
|
35
35
|
dot = node.loc.dot
|
36
36
|
message = message(dot)
|
37
37
|
|
38
|
-
add_offense(dot, message: message)
|
39
|
-
autocorrect(corrector, dot, node)
|
40
|
-
end
|
38
|
+
add_offense(dot, message: message) { |corrector| autocorrect(corrector, dot, node) }
|
41
39
|
end
|
42
40
|
alias on_csend on_send
|
43
41
|
|
@@ -75,9 +75,7 @@ module RuboCop
|
|
75
75
|
processed_source.comments.each do |comment|
|
76
76
|
next unless empty_comment_only?(comment_text(comment))
|
77
77
|
|
78
|
-
add_offense(comment)
|
79
|
-
autocorrect(corrector, comment)
|
80
|
-
end
|
78
|
+
add_offense(comment) { |corrector| autocorrect(corrector, comment) }
|
81
79
|
end
|
82
80
|
end
|
83
81
|
end
|
@@ -99,19 +97,16 @@ module RuboCop
|
|
99
97
|
def autocorrect(corrector, node)
|
100
98
|
previous_token = previous_token(node)
|
101
99
|
range = if previous_token && node.loc.line == previous_token.line
|
102
|
-
range_with_surrounding_space(range: node.loc.expression,
|
103
|
-
newlines: false)
|
100
|
+
range_with_surrounding_space(range: node.loc.expression, newlines: false)
|
104
101
|
else
|
105
|
-
range_by_whole_lines(node.loc.expression,
|
106
|
-
include_final_newline: true)
|
102
|
+
range_by_whole_lines(node.loc.expression, include_final_newline: true)
|
107
103
|
end
|
108
104
|
|
109
105
|
corrector.remove(range)
|
110
106
|
end
|
111
107
|
|
112
108
|
def concat_consecutive_comments(comments)
|
113
|
-
consecutive_comments =
|
114
|
-
comments.chunk_while { |i, j| i.loc.line.succ == j.loc.line }
|
109
|
+
consecutive_comments = comments.chunk_while { |i, j| i.loc.line.succ == j.loc.line }
|
115
110
|
|
116
111
|
consecutive_comments.map do |chunk|
|
117
112
|
joined_text = chunk.map { |c| comment_text(c) }.join
|
@@ -142,9 +137,7 @@ module RuboCop
|
|
142
137
|
end
|
143
138
|
|
144
139
|
def current_token(comment)
|
145
|
-
processed_source.find_token
|
146
|
-
token.pos == comment.loc.expression
|
147
|
-
end
|
140
|
+
processed_source.find_token { |token| token.pos == comment.loc.expression }
|
148
141
|
end
|
149
142
|
|
150
143
|
def previous_token(node)
|
@@ -47,18 +47,15 @@ module RuboCop
|
|
47
47
|
|
48
48
|
if node.modifier_form? && last_argument_is_heredoc?(node)
|
49
49
|
heredoc_node = last_heredoc_argument(node)
|
50
|
-
|
51
|
-
return if next_line_empty?(heredoc_line(node, heredoc_node))
|
50
|
+
return if next_line_empty_or_enable_directive_comment?(heredoc_line(node, heredoc_node))
|
52
51
|
|
53
52
|
add_offense(heredoc_node.loc.heredoc_end) do |corrector|
|
54
53
|
autocorrect(corrector, heredoc_node)
|
55
54
|
end
|
56
55
|
else
|
57
|
-
return if
|
56
|
+
return if next_line_empty_or_enable_directive_comment?(node.last_line)
|
58
57
|
|
59
|
-
add_offense(offense_location(node))
|
60
|
-
autocorrect(corrector, node)
|
61
|
-
end
|
58
|
+
add_offense(offense_location(node)) { |corrector| autocorrect(corrector, node) }
|
62
59
|
end
|
63
60
|
end
|
64
61
|
|
@@ -71,6 +68,11 @@ module RuboCop
|
|
71
68
|
range_by_whole_lines(node.source_range)
|
72
69
|
end
|
73
70
|
|
71
|
+
next_line = node_range.last_line + 1
|
72
|
+
if next_line_enable_directive_comment?(next_line)
|
73
|
+
node_range = processed_source.comment_at_line(next_line)
|
74
|
+
end
|
75
|
+
|
74
76
|
corrector.insert_after(node_range, "\n")
|
75
77
|
end
|
76
78
|
|
@@ -85,10 +87,23 @@ module RuboCop
|
|
85
87
|
node.if_branch&.guard_clause?
|
86
88
|
end
|
87
89
|
|
90
|
+
def next_line_empty_or_enable_directive_comment?(line)
|
91
|
+
return true if next_line_empty?(line)
|
92
|
+
|
93
|
+
next_line = line + 1
|
94
|
+
next_line_enable_directive_comment?(next_line) && next_line_empty?(next_line)
|
95
|
+
end
|
96
|
+
|
88
97
|
def next_line_empty?(line)
|
89
98
|
processed_source[line].blank?
|
90
99
|
end
|
91
100
|
|
101
|
+
def next_line_enable_directive_comment?(line)
|
102
|
+
return false unless (comment = processed_source.comment_at_line(line))
|
103
|
+
|
104
|
+
DirectiveComment.new(comment).enabled?
|
105
|
+
end
|
106
|
+
|
92
107
|
def next_line_rescue_or_ensure?(node)
|
93
108
|
parent = node.parent
|
94
109
|
parent.nil? || parent.rescue_type? || parent.ensure_type?
|
@@ -137,8 +152,7 @@ module RuboCop
|
|
137
152
|
|
138
153
|
def heredoc_line(node, heredoc_node)
|
139
154
|
heredoc_body = heredoc_node.loc.heredoc_body
|
140
|
-
num_of_heredoc_lines =
|
141
|
-
heredoc_body.last_line - heredoc_body.first_line
|
155
|
+
num_of_heredoc_lines = heredoc_body.last_line - heredoc_body.first_line
|
142
156
|
|
143
157
|
node.last_line + num_of_heredoc_lines + END_OF_HEREDOC_LINE
|
144
158
|
end
|
@@ -111,8 +111,7 @@ module RuboCop
|
|
111
111
|
|
112
112
|
return if line_count_allowed?(count)
|
113
113
|
return if multiple_blank_lines_groups?(*nodes)
|
114
|
-
return if nodes.all?(&:single_line?) &&
|
115
|
-
cop_config['AllowAdjacentOneLineDefs']
|
114
|
+
return if nodes.all?(&:single_line?) && cop_config['AllowAdjacentOneLineDefs']
|
116
115
|
|
117
116
|
correction_node = nodes.last
|
118
117
|
location = correction_node.loc.keyword.join(correction_node.loc.name)
|
@@ -160,10 +159,7 @@ module RuboCop
|
|
160
159
|
def message(node, count: nil)
|
161
160
|
type = node_type(node)
|
162
161
|
|
163
|
-
format(MSG,
|
164
|
-
type: type,
|
165
|
-
expected: expected_lines,
|
166
|
-
actual: count)
|
162
|
+
format(MSG, type: type, expected: expected_lines, actual: count)
|
167
163
|
end
|
168
164
|
|
169
165
|
def expected_lines
|
@@ -29,9 +29,7 @@ module RuboCop
|
|
29
29
|
return if processed_source.tokens.empty?
|
30
30
|
|
31
31
|
lines = Set.new
|
32
|
-
processed_source.each_token
|
33
|
-
lines << token.line
|
34
|
-
end
|
32
|
+
processed_source.each_token { |token| lines << token.line }
|
35
33
|
|
36
34
|
each_extra_empty_line(lines.sort) do |range|
|
37
35
|
add_offense(range) do |corrector|
|
@@ -46,8 +46,7 @@ module RuboCop
|
|
46
46
|
extend AutoCorrector
|
47
47
|
|
48
48
|
MSG_AFTER = 'Keep a blank line after `%<modifier>s`.'
|
49
|
-
MSG_BEFORE_AND_AFTER = 'Keep a blank line before and after '
|
50
|
-
'`%<modifier>s`.'
|
49
|
+
MSG_BEFORE_AND_AFTER = 'Keep a blank line before and after `%<modifier>s`.'
|
51
50
|
|
52
51
|
MSG_BEFORE_FOR_ONLY_BEFORE = 'Keep a blank line before `%<modifier>s`.'
|
53
52
|
MSG_AFTER_FOR_ONLY_BEFORE = 'Remove a blank line after `%<modifier>s`.'
|
@@ -73,10 +72,8 @@ module RuboCop
|
|
73
72
|
end
|
74
73
|
|
75
74
|
def on_sclass(node)
|
76
|
-
@class_or_module_def_first_line =
|
77
|
-
|
78
|
-
@class_or_module_def_last_line =
|
79
|
-
node.source_range.last_line
|
75
|
+
@class_or_module_def_first_line = node.identifier.source_range.first_line
|
76
|
+
@class_or_module_def_last_line = node.source_range.last_line
|
80
77
|
end
|
81
78
|
|
82
79
|
def on_block(node)
|
@@ -133,19 +130,14 @@ module RuboCop
|
|
133
130
|
end
|
134
131
|
|
135
132
|
def previous_line_ignoring_comments(processed_source, send_line)
|
136
|
-
processed_source[0..send_line - 2].reverse.find
|
137
|
-
!comment_line?(line)
|
138
|
-
end
|
133
|
+
processed_source[0..send_line - 2].reverse.find { |line| !comment_line?(line) }
|
139
134
|
end
|
140
135
|
|
141
136
|
def previous_line_empty?(send_line)
|
142
|
-
previous_line = previous_line_ignoring_comments(processed_source,
|
143
|
-
send_line)
|
137
|
+
previous_line = previous_line_ignoring_comments(processed_source, send_line)
|
144
138
|
return true unless previous_line
|
145
139
|
|
146
|
-
block_start?(send_line) ||
|
147
|
-
class_def?(send_line) ||
|
148
|
-
previous_line.blank?
|
140
|
+
block_start?(send_line) || class_def?(send_line) || previous_line.blank?
|
149
141
|
end
|
150
142
|
|
151
143
|
def next_line_empty?(last_send_line)
|
@@ -155,8 +147,7 @@ module RuboCop
|
|
155
147
|
end
|
156
148
|
|
157
149
|
def empty_lines_around?(node)
|
158
|
-
previous_line_empty?(node.first_line) &&
|
159
|
-
next_line_empty?(node.last_line)
|
150
|
+
previous_line_empty?(node.first_line) && next_line_empty?(node.last_line)
|
160
151
|
end
|
161
152
|
|
162
153
|
def class_def?(line)
|
@@ -193,8 +184,7 @@ module RuboCop
|
|
193
184
|
def message_for_around_style(node)
|
194
185
|
send_line = node.first_line
|
195
186
|
|
196
|
-
if block_start?(send_line) ||
|
197
|
-
class_def?(send_line)
|
187
|
+
if block_start?(send_line) || class_def?(send_line)
|
198
188
|
format(MSG_AFTER, modifier: node.loc.selector.source)
|
199
189
|
else
|
200
190
|
format(MSG_BEFORE_AND_AFTER, modifier: node.loc.selector.source)
|
@@ -84,10 +84,7 @@ module RuboCop
|
|
84
84
|
# below the keyword
|
85
85
|
check_line(style, line, message('after', keyword), &:empty?)
|
86
86
|
# above the keyword
|
87
|
-
check_line(style,
|
88
|
-
line - 2,
|
89
|
-
message('before', keyword),
|
90
|
-
&:empty?)
|
87
|
+
check_line(style, line - 2, message('before', keyword), &:empty?)
|
91
88
|
end
|
92
89
|
end
|
93
90
|
|
@@ -113,10 +110,7 @@ module RuboCop
|
|
113
110
|
end
|
114
111
|
|
115
112
|
def keyword_locations_in_rescue(node)
|
116
|
-
[
|
117
|
-
node.loc.else,
|
118
|
-
*node.resbody_branches.map { |body| body.loc.keyword }
|
119
|
-
].compact
|
113
|
+
[node.loc.else, *node.resbody_branches.map { |body| body.loc.keyword }].compact
|
120
114
|
end
|
121
115
|
|
122
116
|
def keyword_locations_in_ensure(node)
|
@@ -168,8 +168,7 @@ module RuboCop
|
|
168
168
|
return node.parent if node.case_type? && node.argument?
|
169
169
|
|
170
170
|
assignment = node.ancestors.find(&:assignment_or_similar?)
|
171
|
-
if assignment && !line_break_before_keyword?(assignment.source_range,
|
172
|
-
node)
|
171
|
+
if assignment && !line_break_before_keyword?(assignment.source_range, node)
|
173
172
|
assignment
|
174
173
|
else
|
175
174
|
# Fall back to 'keyword' style if this node is not on the RHS of an
|
@@ -65,7 +65,7 @@ module RuboCop
|
|
65
65
|
|
66
66
|
# If there is no LF on the last line, we don't care if there's no CR.
|
67
67
|
def unimportant_missing_cr?(index, last_line, line)
|
68
|
-
style == :crlf && index == last_line - 1 &&
|
68
|
+
style == :crlf && index == last_line - 1 && !line.end_with?("\n")
|
69
69
|
end
|
70
70
|
|
71
71
|
def offense_message(line)
|
@@ -34,8 +34,7 @@ module RuboCop
|
|
34
34
|
include RangeHelp
|
35
35
|
|
36
36
|
MSG_UNNECESSARY = 'Unnecessary spacing detected.'
|
37
|
-
MSG_UNALIGNED_ASGN = '`=` is not aligned with the %<location>s '
|
38
|
-
'assignment.'
|
37
|
+
MSG_UNALIGNED_ASGN = '`=` is not aligned with the %<location>s assignment.'
|
39
38
|
|
40
39
|
def on_new_investigation
|
41
40
|
return if processed_source.blank?
|
@@ -81,15 +80,12 @@ module RuboCop
|
|
81
80
|
end
|
82
81
|
|
83
82
|
def check_other(token1, token2, ast)
|
84
|
-
return false if allow_for_trailing_comments? &&
|
85
|
-
token2.text.start_with?('#')
|
83
|
+
return false if allow_for_trailing_comments? && token2.text.start_with?('#')
|
86
84
|
|
87
85
|
extra_space_range(token1, token2) do |range|
|
88
86
|
next if ignored_range?(ast, range.begin_pos)
|
89
87
|
|
90
|
-
add_offense(range, message: MSG_UNNECESSARY)
|
91
|
-
corrector.remove(range)
|
92
|
-
end
|
88
|
+
add_offense(range, message: MSG_UNNECESSARY) { |corrector| corrector.remove(range) }
|
93
89
|
end
|
94
90
|
end
|
95
91
|
|
@@ -120,8 +120,7 @@ module RuboCop
|
|
120
120
|
check_first(first_elem, left_bracket, left_parenthesis, 0)
|
121
121
|
end
|
122
122
|
|
123
|
-
check_right_bracket(array_node.loc.end, left_bracket,
|
124
|
-
left_parenthesis)
|
123
|
+
check_right_bracket(array_node.loc.end, left_bracket, left_parenthesis)
|
125
124
|
end
|
126
125
|
|
127
126
|
def check_right_bracket(right_bracket, left_bracket, left_parenthesis)
|
@@ -21,8 +21,7 @@ module RuboCop
|
|
21
21
|
include FirstElementLineBreak
|
22
22
|
extend AutoCorrector
|
23
23
|
|
24
|
-
MSG = 'Add a line break before the first element of a '
|
25
|
-
'multi-line array.'
|
24
|
+
MSG = 'Add a line break before the first element of a multi-line array.'
|
26
25
|
|
27
26
|
def on_array(node)
|
28
27
|
return if !node.loc.begin && !assignment_on_same_line?(node)
|
@@ -117,8 +117,7 @@ module RuboCop
|
|
117
117
|
return if first_pair.first_line == left_brace.line
|
118
118
|
|
119
119
|
if separator_style?(first_pair)
|
120
|
-
check_based_on_longest_key(hash_node, left_brace,
|
121
|
-
left_parenthesis)
|
120
|
+
check_based_on_longest_key(hash_node, left_brace, left_parenthesis)
|
122
121
|
else
|
123
122
|
check_first(first_pair, left_brace, left_parenthesis, 0)
|
124
123
|
end
|
@@ -148,9 +147,7 @@ module RuboCop
|
|
148
147
|
end
|
149
148
|
|
150
149
|
def check_based_on_longest_key(hash_node, left_brace, left_parenthesis)
|
151
|
-
key_lengths = hash_node.keys.map
|
152
|
-
key.source_range.length
|
153
|
-
end
|
150
|
+
key_lengths = hash_node.keys.map { |key| key.source_range.length }
|
154
151
|
check_first(hash_node.pairs.first, left_brace, left_parenthesis,
|
155
152
|
key_lengths.max - key_lengths.first)
|
156
153
|
end
|
@@ -20,8 +20,7 @@ module RuboCop
|
|
20
20
|
include FirstElementLineBreak
|
21
21
|
extend AutoCorrector
|
22
22
|
|
23
|
-
MSG = 'Add a line break before the first element of a '
|
24
|
-
'multi-line hash.'
|
23
|
+
MSG = 'Add a line break before the first element of a multi-line hash.'
|
25
24
|
|
26
25
|
def on_hash(node)
|
27
26
|
# node.loc.begin tells us whether the hash opens with a {
|
@@ -24,8 +24,7 @@ module RuboCop
|
|
24
24
|
include FirstElementLineBreak
|
25
25
|
extend AutoCorrector
|
26
26
|
|
27
|
-
MSG = 'Add a line break before the first argument of a '
|
28
|
-
'multi-line method argument list.'
|
27
|
+
MSG = 'Add a line break before the first argument of a multi-line method argument list.'
|
29
28
|
|
30
29
|
def on_send(node)
|
31
30
|
args = node.arguments.dup
|
@@ -30,8 +30,7 @@ module RuboCop
|
|
30
30
|
include FirstElementLineBreak
|
31
31
|
extend AutoCorrector
|
32
32
|
|
33
|
-
MSG = 'Add a line break before the first parameter of a '
|
34
|
-
'multi-line method parameter list.'
|
33
|
+
MSG = 'Add a line break before the first parameter of a multi-line method parameter list.'
|
35
34
|
|
36
35
|
def on_def(node)
|
37
36
|
check_method_line_break(node, node.arguments)
|
@@ -193,8 +193,7 @@ module RuboCop
|
|
193
193
|
|
194
194
|
last_argument = node.last_argument
|
195
195
|
|
196
|
-
return unless last_argument.hash_type? &&
|
197
|
-
ignore_hash_argument?(last_argument)
|
196
|
+
return unless last_argument.hash_type? && ignore_hash_argument?(last_argument)
|
198
197
|
|
199
198
|
ignore_node(last_argument)
|
200
199
|
end
|
@@ -282,13 +281,11 @@ module RuboCop
|
|
282
281
|
end
|
283
282
|
|
284
283
|
def alignment_for_hash_rockets
|
285
|
-
@alignment_for_hash_rockets ||=
|
286
|
-
new_alignment('EnforcedHashRocketStyle')
|
284
|
+
@alignment_for_hash_rockets ||= new_alignment('EnforcedHashRocketStyle')
|
287
285
|
end
|
288
286
|
|
289
287
|
def alignment_for_colons
|
290
|
-
@alignment_for_colons ||=
|
291
|
-
new_alignment('EnforcedColonStyle')
|
288
|
+
@alignment_for_colons ||= new_alignment('EnforcedColonStyle')
|
292
289
|
end
|
293
290
|
|
294
291
|
def correct_node(corrector, node, delta)
|
@@ -132,9 +132,7 @@ module RuboCop
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def extract_heredoc_argument(node)
|
135
|
-
node.arguments.find
|
136
|
-
extract_heredoc(arg_node)
|
137
|
-
end
|
135
|
+
node.arguments.find { |arg_node| extract_heredoc(arg_node) }
|
138
136
|
end
|
139
137
|
|
140
138
|
def extract_heredoc(node)
|
@@ -234,12 +232,7 @@ module RuboCop
|
|
234
232
|
def remove_internal_trailing_comma(node, corrector)
|
235
233
|
offset = internal_trailing_comma_offset_from_last_arg(node)
|
236
234
|
last_arg_end_pos = node.children.last.source_range.end_pos
|
237
|
-
corrector.remove(
|
238
|
-
range_between(
|
239
|
-
last_arg_end_pos,
|
240
|
-
last_arg_end_pos + offset
|
241
|
-
)
|
242
|
-
)
|
235
|
+
corrector.remove(range_between(last_arg_end_pos, last_arg_end_pos + offset))
|
243
236
|
end
|
244
237
|
|
245
238
|
def internal_trailing_comma?(node)
|