rubocop 1.12.1 → 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 +2 -5
- 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 +4 -10
- 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 +1 -2
- 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/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 -17
- 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 +1 -3
- data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
- data/lib/rubocop/cop/style/alias.rb +5 -12
- 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 +2 -8
- 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 -8
- data/lib/rubocop/cop/style/guard_clause.rb +3 -7
- data/lib/rubocop/cop/style/hash_conversion.rb +28 -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 +1 -1
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +7 -13
- 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 +1 -3
- 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 +4 -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 +15 -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 +4 -10
- 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/file_finder.rb +1 -3
- 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/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
@@ -107,8 +107,7 @@ module RuboCop
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def trivial_reader?(node)
|
110
|
-
looks_like_trivial_reader?(node) &&
|
111
|
-
!allowed_method_name?(node) && !allowed_reader?(node)
|
110
|
+
looks_like_trivial_reader?(node) && !allowed_method_name?(node) && !allowed_reader?(node)
|
112
111
|
end
|
113
112
|
|
114
113
|
def looks_like_trivial_reader?(node)
|
@@ -146,8 +145,7 @@ module RuboCop
|
|
146
145
|
end
|
147
146
|
|
148
147
|
def trivial_accessor_kind(node)
|
149
|
-
if trivial_writer?(node) &&
|
150
|
-
!dsl_writer?(node.method_name)
|
148
|
+
if trivial_writer?(node) && !dsl_writer?(node.method_name)
|
151
149
|
'writer'
|
152
150
|
elsif trivial_reader?(node)
|
153
151
|
'reader'
|
@@ -23,8 +23,7 @@ module RuboCop
|
|
23
23
|
include RangeHelp
|
24
24
|
extend AutoCorrector
|
25
25
|
|
26
|
-
MSG = 'Do not use `unless` with `else`. Rewrite these with the '
|
27
|
-
'positive case first.'
|
26
|
+
MSG = 'Do not use `unless` with `else`. Rewrite these with the positive case first.'
|
28
27
|
|
29
28
|
def on_if(node)
|
30
29
|
return unless node.unless? && node.else?
|
@@ -90,14 +90,14 @@ module RuboCop
|
|
90
90
|
and_sources = node.condition.each_descendant(:and).map(&:operator)
|
91
91
|
and_sources << node.condition.operator if node.condition.and_type?
|
92
92
|
|
93
|
-
!(and_sources.all?
|
93
|
+
!(and_sources.all?('&&') || and_sources.all?('and'))
|
94
94
|
end
|
95
95
|
|
96
96
|
def mixed_precedence_or?(node)
|
97
97
|
or_sources = node.condition.each_descendant(:or).map(&:operator)
|
98
98
|
or_sources << node.condition.operator if node.condition.or_type?
|
99
99
|
|
100
|
-
!(or_sources.all?
|
100
|
+
!(or_sources.all?('||') || or_sources.all?('or'))
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
@@ -20,7 +20,7 @@ module RuboCop
|
|
20
20
|
extend AutoCorrector
|
21
21
|
|
22
22
|
MSG = 'Replace interpolated variable `%<variable>s` ' \
|
23
|
-
'with expression `#{%<variable>s}`.'
|
23
|
+
'with expression `#{%<variable>s}`.' # rubocop:disable Lint/InterpolationCheck
|
24
24
|
|
25
25
|
def on_node_with_interpolations(node)
|
26
26
|
var_nodes(node.children).each do |var_node|
|
@@ -25,9 +25,7 @@ module RuboCop
|
|
25
25
|
def on_when(node)
|
26
26
|
return if node.multiline? || node.then? || !node.body
|
27
27
|
|
28
|
-
add_offense(node.loc.begin)
|
29
|
-
corrector.replace(node.loc.begin, ' then')
|
30
|
-
end
|
28
|
+
add_offense(node.loc.begin) { |corrector| corrector.replace(node.loc.begin, ' then') }
|
31
29
|
end
|
32
30
|
end
|
33
31
|
end
|
@@ -37,8 +37,7 @@ module RuboCop
|
|
37
37
|
include StatementModifier
|
38
38
|
extend AutoCorrector
|
39
39
|
|
40
|
-
MSG = 'Favor modifier `%<keyword>s` usage when '
|
41
|
-
'having a single-line body.'
|
40
|
+
MSG = 'Favor modifier `%<keyword>s` usage when having a single-line body.'
|
42
41
|
|
43
42
|
def on_while(node)
|
44
43
|
return unless single_line_as_modifier?(node)
|
@@ -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)
|
@@ -123,9 +121,7 @@ module RuboCop
|
|
123
121
|
end
|
124
122
|
|
125
123
|
def same_line?(node1, node2)
|
126
|
-
node1.respond_to?(:loc) &&
|
127
|
-
node2.respond_to?(:loc) &&
|
128
|
-
node1.loc.line == node2.loc.line
|
124
|
+
node1.respond_to?(:loc) && node2.respond_to?(:loc) && node1.loc.line == node2.loc.line
|
129
125
|
end
|
130
126
|
|
131
127
|
def indent(node)
|
@@ -133,9 +129,7 @@ module RuboCop
|
|
133
129
|
end
|
134
130
|
|
135
131
|
def to_supported_styles(enforced_style)
|
136
|
-
enforced_style
|
137
|
-
.sub(/^Enforced/, 'Supported')
|
138
|
-
.sub('Style', 'Styles')
|
132
|
+
enforced_style.sub(/^Enforced/, 'Supported').sub('Style', 'Styles')
|
139
133
|
end
|
140
134
|
|
141
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
|
|
@@ -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]
|