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
@@ -56,8 +56,7 @@ module RuboCop
|
|
56
56
|
def complex_content?(strings)
|
57
57
|
strings.any? do |s|
|
58
58
|
string = s.str_content.dup.force_encoding(::Encoding::UTF_8)
|
59
|
-
!string.valid_encoding? ||
|
60
|
-
!word_regex.match?(string) || / /.match?(string)
|
59
|
+
!string.valid_encoding? || !word_regex.match?(string) || / /.match?(string)
|
61
60
|
end
|
62
61
|
end
|
63
62
|
|
@@ -59,12 +59,7 @@ module RuboCop
|
|
59
59
|
|
60
60
|
MSG = 'Reverse the order of the operands `%<source>s`.'
|
61
61
|
|
62
|
-
REVERSE_COMPARISON = {
|
63
|
-
'<' => '>',
|
64
|
-
'<=' => '>=',
|
65
|
-
'>' => '<',
|
66
|
-
'>=' => '<='
|
67
|
-
}.freeze
|
62
|
+
REVERSE_COMPARISON = { '<' => '>', '<=' => '>=', '>' => '<', '>=' => '<=' }.freeze
|
68
63
|
|
69
64
|
EQUALITY_OPERATORS = %i[== !=].freeze
|
70
65
|
|
@@ -100,8 +95,7 @@ module RuboCop
|
|
100
95
|
end
|
101
96
|
|
102
97
|
def yoda_compatible_condition?(node)
|
103
|
-
node.comparison_method? &&
|
104
|
-
!noncommutative_operator?(node)
|
98
|
+
node.comparison_method? && !noncommutative_operator?(node)
|
105
99
|
end
|
106
100
|
|
107
101
|
def valid_yoda?(node)
|
@@ -127,9 +121,7 @@ module RuboCop
|
|
127
121
|
end
|
128
122
|
|
129
123
|
def actual_code_range(node)
|
130
|
-
range_between(
|
131
|
-
node.loc.expression.begin_pos, node.loc.expression.end_pos
|
132
|
-
)
|
124
|
+
range_between(node.loc.expression.begin_pos, node.loc.expression.end_pos)
|
133
125
|
end
|
134
126
|
|
135
127
|
def reverse_comparison(operator)
|
@@ -29,8 +29,7 @@ module RuboCop
|
|
29
29
|
extend AutoCorrector
|
30
30
|
|
31
31
|
ZERO_MSG = 'Use `empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
|
32
|
-
NONZERO_MSG = 'Use `!empty?` instead of '
|
33
|
-
'`%<lhs>s %<opr>s %<rhs>s`.'
|
32
|
+
NONZERO_MSG = 'Use `!empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
|
34
33
|
|
35
34
|
RESTRICT_ON_SEND = %i[size length].freeze
|
36
35
|
|
data/lib/rubocop/cop/team.rb
CHANGED
@@ -107,9 +107,7 @@ module RuboCop
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
-
needed.map
|
111
|
-
force_class.new(joining_cops)
|
112
|
-
end
|
110
|
+
needed.map { |force_class, joining_cops| force_class.new(joining_cops) }
|
113
111
|
end
|
114
112
|
|
115
113
|
def external_dependency_checksum
|
@@ -247,8 +245,7 @@ module RuboCop
|
|
247
245
|
end
|
248
246
|
|
249
247
|
def handle_error(error, location, cop)
|
250
|
-
message = Rainbow("An error occurred while #{cop.name}"
|
251
|
-
" cop was inspecting #{location}.").red
|
248
|
+
message = Rainbow("An error occurred while #{cop.name} cop was inspecting #{location}.").red
|
252
249
|
@errors << message
|
253
250
|
warn message
|
254
251
|
if debug?
|
data/lib/rubocop/cop/util.rb
CHANGED
@@ -8,8 +8,7 @@ module RuboCop
|
|
8
8
|
|
9
9
|
# Match literal regex characters, not including anchors, character
|
10
10
|
# classes, alternatives, groups, repetitions, references, etc
|
11
|
-
LITERAL_REGEX =
|
12
|
-
%r{[\w\s\-,"'!#%&<>=;:`~/]|\\[^AbBdDgGhHkpPRwWXsSzZ0-9]}.freeze
|
11
|
+
LITERAL_REGEX = %r{[\w\s\-,"'!#%&<>=;:`~/]|\\[^AbBdDgGhHkpPRwWXsSzZ0-9]}.freeze
|
13
12
|
|
14
13
|
module_function
|
15
14
|
|
@@ -28,8 +27,7 @@ module RuboCop
|
|
28
27
|
end
|
29
28
|
|
30
29
|
def parentheses?(node)
|
31
|
-
node.loc.respond_to?(:end) && node.loc.end &&
|
32
|
-
node.loc.end.is?(')')
|
30
|
+
node.loc.respond_to?(:end) && node.loc.end && node.loc.end.is?(')')
|
33
31
|
end
|
34
32
|
|
35
33
|
def add_parentheses(node, corrector)
|
@@ -38,7 +36,10 @@ module RuboCop
|
|
38
36
|
elsif node.arguments.empty?
|
39
37
|
corrector.insert_after(node, '()')
|
40
38
|
else
|
41
|
-
|
39
|
+
args_begin = args_begin(node)
|
40
|
+
|
41
|
+
corrector.remove(args_begin)
|
42
|
+
corrector.insert_before(args_begin, '(')
|
42
43
|
corrector.insert_after(args_end(node), ')')
|
43
44
|
end
|
44
45
|
end
|
@@ -120,9 +121,7 @@ module RuboCop
|
|
120
121
|
end
|
121
122
|
|
122
123
|
def same_line?(node1, node2)
|
123
|
-
node1.respond_to?(:loc) &&
|
124
|
-
node2.respond_to?(:loc) &&
|
125
|
-
node1.loc.line == node2.loc.line
|
124
|
+
node1.respond_to?(:loc) && node2.respond_to?(:loc) && node1.loc.line == node2.loc.line
|
126
125
|
end
|
127
126
|
|
128
127
|
def indent(node)
|
@@ -130,9 +129,7 @@ module RuboCop
|
|
130
129
|
end
|
131
130
|
|
132
131
|
def to_supported_styles(enforced_style)
|
133
|
-
enforced_style
|
134
|
-
.sub(/^Enforced/, 'Supported')
|
135
|
-
.sub('Style', 'Styles')
|
132
|
+
enforced_style.sub(/^Enforced/, 'Supported').sub('Style', 'Styles')
|
136
133
|
end
|
137
134
|
|
138
135
|
private
|
@@ -27,8 +27,7 @@ module RuboCop
|
|
27
27
|
class VariableForce < Force # rubocop:disable Metrics/ClassLength
|
28
28
|
VARIABLE_ASSIGNMENT_TYPE = :lvasgn
|
29
29
|
REGEXP_NAMED_CAPTURE_TYPE = :match_with_lvasgn
|
30
|
-
VARIABLE_ASSIGNMENT_TYPES =
|
31
|
-
[VARIABLE_ASSIGNMENT_TYPE, REGEXP_NAMED_CAPTURE_TYPE].freeze
|
30
|
+
VARIABLE_ASSIGNMENT_TYPES = [VARIABLE_ASSIGNMENT_TYPE, REGEXP_NAMED_CAPTURE_TYPE].freeze
|
32
31
|
|
33
32
|
ARGUMENT_DECLARATION_TYPES = [
|
34
33
|
:arg, :optarg, :restarg,
|
@@ -38,8 +37,7 @@ module RuboCop
|
|
38
37
|
].freeze
|
39
38
|
|
40
39
|
LOGICAL_OPERATOR_ASSIGNMENT_TYPES = %i[or_asgn and_asgn].freeze
|
41
|
-
OPERATOR_ASSIGNMENT_TYPES =
|
42
|
-
(LOGICAL_OPERATOR_ASSIGNMENT_TYPES + [:op_asgn]).freeze
|
40
|
+
OPERATOR_ASSIGNMENT_TYPES = (LOGICAL_OPERATOR_ASSIGNMENT_TYPES + [:op_asgn]).freeze
|
43
41
|
|
44
42
|
MULTIPLE_ASSIGNMENT_TYPE = :masgn
|
45
43
|
|
@@ -182,9 +180,7 @@ module RuboCop
|
|
182
180
|
process_node(rhs_node)
|
183
181
|
process_node(regexp_node)
|
184
182
|
|
185
|
-
variable_names.each
|
186
|
-
variable_table.assign_to_variable(name, node)
|
187
|
-
end
|
183
|
+
variable_names.each { |name| variable_table.assign_to_variable(name, node) }
|
188
184
|
|
189
185
|
skip_children!
|
190
186
|
end
|
@@ -304,17 +300,14 @@ module RuboCop
|
|
304
300
|
return unless method_name == :binding
|
305
301
|
return if args && !args.children.empty?
|
306
302
|
|
307
|
-
variable_table.accessible_variables.each
|
308
|
-
variable.reference!(node)
|
309
|
-
end
|
303
|
+
variable_table.accessible_variables.each { |variable| variable.reference!(node) }
|
310
304
|
end
|
311
305
|
|
312
306
|
# Mark all assignments which are referenced in the same loop
|
313
307
|
# as referenced by ignoring AST order since they would be referenced
|
314
308
|
# in next iteration.
|
315
309
|
def mark_assignments_as_referenced_in_loop(node)
|
316
|
-
referenced_variable_names_in_loop, assignment_nodes_in_loop =
|
317
|
-
find_variables_in_loop(node)
|
310
|
+
referenced_variable_names_in_loop, assignment_nodes_in_loop = find_variables_in_loop(node)
|
318
311
|
|
319
312
|
referenced_variable_names_in_loop.each do |name|
|
320
313
|
variable = variable_table.find_variable(name)
|
@@ -371,9 +364,7 @@ module RuboCop
|
|
371
364
|
|
372
365
|
# Use Node#equal? for accurate check.
|
373
366
|
def scanned_node?(node)
|
374
|
-
scanned_nodes.any?
|
375
|
-
scanned_node.equal?(node)
|
376
|
-
end
|
367
|
+
scanned_nodes.any? { |scanned_node| scanned_node.equal?(node) }
|
377
368
|
end
|
378
369
|
|
379
370
|
def scanned_nodes
|
@@ -66,8 +66,7 @@ module RuboCop
|
|
66
66
|
|
67
67
|
def meta_assignment_node
|
68
68
|
unless instance_variable_defined?(:@meta_assignment_node)
|
69
|
-
@meta_assignment_node =
|
70
|
-
operator_assignment_node || multiple_assignment_node
|
69
|
+
@meta_assignment_node = operator_assignment_node || multiple_assignment_node
|
71
70
|
end
|
72
71
|
|
73
72
|
@meta_assignment_node
|
@@ -121,8 +121,7 @@ module RuboCop
|
|
121
121
|
def ==(other)
|
122
122
|
return false unless other
|
123
123
|
|
124
|
-
control_node.equal?(other.control_node) &&
|
125
|
-
child_node.equal?(other.child_node)
|
124
|
+
control_node.equal?(other.control_node) && child_node.equal?(other.child_node)
|
126
125
|
end
|
127
126
|
|
128
127
|
alias_method :eql?, :==
|
@@ -8,9 +8,7 @@ module RuboCop
|
|
8
8
|
include Branchable
|
9
9
|
|
10
10
|
VARIABLE_REFERENCE_TYPES = (
|
11
|
-
[VARIABLE_REFERENCE_TYPE] +
|
12
|
-
OPERATOR_ASSIGNMENT_TYPES +
|
13
|
-
[ZERO_ARITY_SUPER_TYPE, SEND_TYPE]
|
11
|
+
[VARIABLE_REFERENCE_TYPE] + OPERATOR_ASSIGNMENT_TYPES + [ZERO_ARITY_SUPER_TYPE, SEND_TYPE]
|
14
12
|
).freeze
|
15
13
|
|
16
14
|
attr_reader :node, :scope
|
@@ -23,10 +23,9 @@ module RuboCop
|
|
23
23
|
unless SCOPE_TYPES.include?(node.type)
|
24
24
|
# Accept any node type for top level scope
|
25
25
|
if node.parent
|
26
|
-
raise ArgumentError,
|
27
|
-
"Node type must be any of #{SCOPE_TYPES}, " \
|
28
|
-
"passed #{node.type}"
|
26
|
+
raise ArgumentError, "Node type must be any of #{SCOPE_TYPES}, passed #{node.type}"
|
29
27
|
end
|
28
|
+
|
30
29
|
@naked_top_level = true
|
31
30
|
end
|
32
31
|
@node = node
|
@@ -56,8 +55,7 @@ module RuboCop
|
|
56
55
|
end
|
57
56
|
|
58
57
|
def include?(target_node)
|
59
|
-
!belong_to_outer_scope?(target_node) &&
|
60
|
-
!belong_to_inner_scope?(target_node)
|
58
|
+
!belong_to_outer_scope?(target_node) && !belong_to_inner_scope?(target_node)
|
61
59
|
end
|
62
60
|
|
63
61
|
def each_node(&block)
|
@@ -100,9 +98,7 @@ module RuboCop
|
|
100
98
|
end
|
101
99
|
|
102
100
|
def ancestor_node?(target_node)
|
103
|
-
node.each_ancestor.any?
|
104
|
-
ancestor_node.equal?(target_node)
|
105
|
-
end
|
101
|
+
node.each_ancestor.any? { |ancestor_node| ancestor_node.equal?(target_node) }
|
106
102
|
end
|
107
103
|
end
|
108
104
|
end
|
@@ -6,11 +6,9 @@ module RuboCop
|
|
6
6
|
# A Variable represents existence of a local variable.
|
7
7
|
# This holds a variable declaration node and some states of the variable.
|
8
8
|
class Variable
|
9
|
-
VARIABLE_DECLARATION_TYPES =
|
10
|
-
(VARIABLE_ASSIGNMENT_TYPES + ARGUMENT_DECLARATION_TYPES).freeze
|
9
|
+
VARIABLE_DECLARATION_TYPES = (VARIABLE_ASSIGNMENT_TYPES + ARGUMENT_DECLARATION_TYPES).freeze
|
11
10
|
|
12
|
-
attr_reader :name, :declaration_node, :scope,
|
13
|
-
:assignments, :references, :captured_by_block
|
11
|
+
attr_reader :name, :declaration_node, :scope, :assignments, :references, :captured_by_block
|
14
12
|
|
15
13
|
alias captured_by_block? captured_by_block
|
16
14
|
|
@@ -18,9 +18,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
18
18
|
|
19
19
|
def call
|
20
20
|
YARD::Registry.load!
|
21
|
-
departments.each
|
22
|
-
print_cops_of_department(department)
|
23
|
-
end
|
21
|
+
departments.each { |department| print_cops_of_department(department) }
|
24
22
|
|
25
23
|
print_table_of_contents
|
26
24
|
ensure
|
@@ -105,8 +103,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
105
103
|
|
106
104
|
def code_example(ruby_code)
|
107
105
|
content = +"[source,ruby]\n----\n"
|
108
|
-
content << ruby_code.text.gsub('@good', '# good')
|
109
|
-
.gsub('@bad', '# bad').strip
|
106
|
+
content << ruby_code.text.gsub('@good', '# good').gsub('@bad', '# bad').strip
|
110
107
|
content << "\n----\n"
|
111
108
|
content
|
112
109
|
end
|
@@ -158,10 +155,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
158
155
|
# rubocop:enable Metrics/CyclomaticComplexity,Metrics/MethodLength
|
159
156
|
|
160
157
|
def to_table(header, content)
|
161
|
-
table = [
|
162
|
-
'|===',
|
163
|
-
"| #{header.join(' | ')}\n\n"
|
164
|
-
].join("\n")
|
158
|
+
table = ['|===', "| #{header.join(' | ')}\n\n"].join("\n")
|
165
159
|
marked_contents = content.map do |plain_content|
|
166
160
|
plain_content.map { |c| "| #{c}" }.join("\n")
|
167
161
|
end
|
@@ -195,9 +189,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
195
189
|
|
196
190
|
def references(cop)
|
197
191
|
cop_config = config.for_cop(cop)
|
198
|
-
urls = RuboCop::Cop::MessageAnnotator.new(
|
199
|
-
config, cop.name, cop_config, {}
|
200
|
-
).urls
|
192
|
+
urls = RuboCop::Cop::MessageAnnotator.new(config, cop.name, cop_config, {}).urls
|
201
193
|
return '' if urls.empty?
|
202
194
|
|
203
195
|
content = h3('References')
|
@@ -209,9 +201,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
209
201
|
def print_cops_of_department(department)
|
210
202
|
selected_cops = cops_of_department(department)
|
211
203
|
content = +"= #{department}\n"
|
212
|
-
selected_cops.each
|
213
|
-
content << print_cop_with_doc(cop)
|
214
|
-
end
|
204
|
+
selected_cops.each { |cop| content << print_cop_with_doc(cop) }
|
215
205
|
file_name = "#{Dir.pwd}/docs/modules/ROOT/pages/#{department_to_basename(department)}.adoc"
|
216
206
|
File.open(file_name, 'w') do |file|
|
217
207
|
puts "* generated #{file_name}"
|
@@ -264,16 +254,12 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
|
|
264
254
|
|
265
255
|
content << "\n// END_COP_LIST"
|
266
256
|
|
267
|
-
content = original.sub(
|
268
|
-
%r{// START_COP_LIST.+// END_COP_LIST}m, content
|
269
|
-
)
|
257
|
+
content = original.sub(%r{// START_COP_LIST.+// END_COP_LIST}m, content)
|
270
258
|
File.write(path, content)
|
271
259
|
end
|
272
260
|
|
273
261
|
def table_contents
|
274
|
-
departments
|
275
|
-
.map { |department| table_of_content_for_department(department) }
|
276
|
-
.join("\n")
|
262
|
+
departments.map { |department| table_of_content_for_department(department) }.join("\n")
|
277
263
|
end
|
278
264
|
|
279
265
|
def cop_status(status)
|
data/lib/rubocop/file_finder.rb
CHANGED
@@ -23,9 +23,7 @@ module RuboCop
|
|
23
23
|
|
24
24
|
def find_last_file_upwards(filename, start_dir, stop_dir = nil)
|
25
25
|
last_file = nil
|
26
|
-
traverse_files_upwards(filename, start_dir, stop_dir)
|
27
|
-
last_file = file
|
28
|
-
end
|
26
|
+
traverse_files_upwards(filename, start_dir, stop_dir) { |file| last_file = file }
|
29
27
|
last_file
|
30
28
|
end
|
31
29
|
|
@@ -49,8 +49,10 @@ module RuboCop
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def report_highlighted_area(highlighted_area)
|
52
|
-
|
53
|
-
|
52
|
+
space_area = highlighted_area.source_buffer.slice(0...highlighted_area.begin_pos)
|
53
|
+
source_area = highlighted_area.source
|
54
|
+
output.puts("#{' ' * Unicode::DisplayWidth.of(space_area)}" \
|
55
|
+
"#{'^' * Unicode::DisplayWidth.of(source_area)}")
|
54
56
|
end
|
55
57
|
end
|
56
58
|
end
|
@@ -71,9 +71,7 @@ module RuboCop
|
|
71
71
|
command += ' --auto-gen-only-exclude' if @options[:auto_gen_only_exclude]
|
72
72
|
|
73
73
|
if @exclude_limit_option
|
74
|
-
command +=
|
75
|
-
format(' --exclude-limit %<limit>d',
|
76
|
-
limit: Integer(@exclude_limit_option))
|
74
|
+
command += format(' --exclude-limit %<limit>d', limit: Integer(@exclude_limit_option))
|
77
75
|
end
|
78
76
|
command += ' --no-offense-counts' unless show_offense_counts?
|
79
77
|
|
@@ -111,8 +109,7 @@ module RuboCop
|
|
111
109
|
|
112
110
|
# In case auto_gen_only_exclude is set, only modify the maximum if the
|
113
111
|
# files are not excluded one by one.
|
114
|
-
if !@options[:auto_gen_only_exclude] ||
|
115
|
-
@files_with_offenses[cop_name].size > @exclude_limit
|
112
|
+
if !@options[:auto_gen_only_exclude] || @files_with_offenses[cop_name].size > @exclude_limit
|
116
113
|
cfg.merge!(cfg[:exclude_limit])
|
117
114
|
end
|
118
115
|
|
@@ -144,9 +141,7 @@ module RuboCop
|
|
144
141
|
|
145
142
|
def output_cop_param_comments(output_buffer, params, default_cfg)
|
146
143
|
config_params = params.reject { |p| p.start_with?('Supported') }
|
147
|
-
output_buffer.puts(
|
148
|
-
"# Configuration parameters: #{config_params.join(', ')}."
|
149
|
-
)
|
144
|
+
output_buffer.puts("# Configuration parameters: #{config_params.join(', ')}.")
|
150
145
|
|
151
146
|
params.each do |param|
|
152
147
|
value = default_cfg[param]
|
@@ -5,11 +5,7 @@ module RuboCop
|
|
5
5
|
# This formatter formats report data as GitHub Workflow commands resulting
|
6
6
|
# in GitHub check annotations when run within GitHub Actions.
|
7
7
|
class GitHubActionsFormatter < BaseFormatter
|
8
|
-
ESCAPE_MAP = {
|
9
|
-
'%' => '%25',
|
10
|
-
"\n" => '%0A',
|
11
|
-
"\r" => '%0D'
|
12
|
-
}.freeze
|
8
|
+
ESCAPE_MAP = { '%' => '%25', "\n" => '%0A', "\r" => '%0D' }.freeze
|
13
9
|
|
14
10
|
def file_finished(file, offenses)
|
15
11
|
offenses.each { |offense| report_offense(file, offense) }
|
@@ -11,8 +11,7 @@ module RuboCop
|
|
11
11
|
# This formatter saves the output as an html file.
|
12
12
|
class HTMLFormatter < BaseFormatter
|
13
13
|
ELLIPSES = '<span class="extra-code">...</span>'
|
14
|
-
TEMPLATE_PATH =
|
15
|
-
File.expand_path('../../../assets/output.html.erb', __dir__)
|
14
|
+
TEMPLATE_PATH = File.expand_path('../../../assets/output.html.erb', __dir__)
|
16
15
|
|
17
16
|
Color = Struct.new(:red, :green, :blue, :alpha) do
|
18
17
|
def to_s
|
@@ -20,9 +19,7 @@ module RuboCop
|
|
20
19
|
end
|
21
20
|
|
22
21
|
def fade_out(amount)
|
23
|
-
dup.tap
|
24
|
-
color.alpha -= amount
|
25
|
-
end
|
22
|
+
dup.tap { |color| color.alpha -= amount }
|
26
23
|
end
|
27
24
|
end
|
28
25
|
|
@@ -79,8 +76,7 @@ module RuboCop
|
|
79
76
|
fatal: Color.new(0xD2, 0x32, 0x2D, 1.0)
|
80
77
|
}.freeze
|
81
78
|
|
82
|
-
LOGO_IMAGE_PATH =
|
83
|
-
File.expand_path('../../../assets/logo.png', __dir__)
|
79
|
+
LOGO_IMAGE_PATH = File.expand_path('../../../assets/logo.png', __dir__)
|
84
80
|
|
85
81
|
attr_reader :files, :summary
|
86
82
|
|
@@ -97,9 +93,7 @@ module RuboCop
|
|
97
93
|
# rubocop:enable Lint/UselessMethodDefinition
|
98
94
|
|
99
95
|
def decorated_message(offense)
|
100
|
-
offense.message.gsub(/`(.+?)`/)
|
101
|
-
"<code>#{Regexp.last_match(1)}</code>"
|
102
|
-
end
|
96
|
+
offense.message.gsub(/`(.+?)`/) { "<code>#{Regexp.last_match(1)}</code>" }
|
103
97
|
end
|
104
98
|
|
105
99
|
def highlighted_source_line(offense)
|