rubocop 1.12.1 → 1.16.1
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 +5 -2
- data/config/default.yml +78 -8
- data/exe/rubocop +1 -3
- data/lib/rubocop.rb +10 -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 +43 -11
- data/lib/rubocop/cop/bundler/gem_version.rb +99 -0
- 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 +7 -5
- 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 +30 -14
- 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 +57 -11
- 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 +14 -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 +36 -15
- 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 +6 -4
- 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 +137 -0
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
- data/lib/rubocop/cop/layout/single_line_block_chain.rb +53 -0
- 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 +19 -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 +83 -41
- 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_block.rb +18 -2
- 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_in_pattern.rb +62 -0
- 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 +2 -3
- 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 +18 -27
- 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 +4 -16
- 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 +14 -7
- data/lib/rubocop/cop/lint/unused_block_argument.rb +9 -7
- 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 +5 -12
- 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 +19 -3
- 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 +7 -7
- data/lib/rubocop/cop/mixin/gem_declaration.rb +13 -0
- data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +17 -9
- 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/string_literals_help.rb +3 -5
- data/lib/rubocop/cop/mixin/symbol_help.rb +13 -0
- 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 +19 -10
- 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 +12 -9
- 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 +19 -3
- 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 +27 -8
- data/lib/rubocop/cop/style/if_unless_modifier.rb +40 -13
- data/lib/rubocop/cop/style/in_pattern_then.rb +56 -0
- 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 -12
- 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_in_pattern_then.rb +62 -0
- 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/multiline_when_then.rb +2 -11
- 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_if_else_condition.rb +17 -9
- 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/nil_lambda.rb +29 -12
- 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/quoted_symbols.rb +110 -0
- 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 +25 -7
- 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 +20 -4
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +15 -7
- 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 +3 -5
- data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +1 -0
- 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/top_level_method_definition.rb +83 -0
- 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 +67 -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 +4 -2
- 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 +16 -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 -1
- 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 +23 -14
- data/lib/rubocop/formatter/progress_formatter.rb +1 -3
- data/lib/rubocop/options.rb +30 -50
- 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 +8 -15
- data/lib/rubocop/runner.rb +7 -14
- data/lib/rubocop/target_finder.rb +18 -16
- data/lib/rubocop/target_ruby.rb +4 -8
- data/lib/rubocop/version.rb +1 -1
- metadata +16 -7
- data/lib/rubocop/core_ext/hash.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 336b4f09242c5130a3e66be9c17bb23a1d884d0e9d788799f3ff3291616367d7
|
4
|
+
data.tar.gz: 2bbcb0fed39b66808dac5bf4c4df3f6bf4fbf606fcb6f0136acdaff5a1212d42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 006de603e9c559a6c34fb1e25d7c7b255ca8231773e4e8f4c99a6f31a2914ba11069597e66806564bd761a493581f62e0028bd0e47d470fc28ff7822bd9e90d9
|
7
|
+
data.tar.gz: e5fb0bf4851cd7273834f1b89e952406942379298b93ac130dcfc254e3fe427dfdae8adca3666ac45db9314645e74f3bb86aae9fe199f1bb0fe3e0e21047fcb6
|
data/README.md
CHANGED
@@ -10,6 +10,7 @@
|
|
10
10
|
[](https://codeclimate.com/github/rubocop/rubocop/test_coverage)
|
11
11
|
[](https://codeclimate.com/github/rubocop/rubocop/maintainability)
|
12
12
|
[](https://dependabot.com/compatibility-score.html?dependency-name=rubocop&package-manager=bundler&version-scheme=semver)
|
13
|
+
[](https://discord.gg/wJjWvGRDmm)
|
13
14
|
|
14
15
|
> Role models are important. <br/>
|
15
16
|
> -- Officer Alex J. Murphy / RoboCop
|
@@ -28,6 +29,8 @@ RuboCop is extremely flexible and most aspects of its behavior can be tweaked vi
|
|
28
29
|
[](#open-collective-sponsors)
|
29
30
|
[](https://tidelift.com/subscription/pkg/rubygems-rubocop?utm_source=rubygems-rubocop&utm_medium=referral&utm_campaign=readme)
|
30
31
|
|
32
|
+
Working on RuboCop is often fun, but it also requires a great deal of time and energy.
|
33
|
+
|
31
34
|
**Please consider [financially supporting its ongoing development](#funding).**
|
32
35
|
|
33
36
|
## Installation
|
@@ -51,7 +54,7 @@ To prevent an unwanted RuboCop update you might want to use a conservative versi
|
|
51
54
|
in your `Gemfile`:
|
52
55
|
|
53
56
|
```rb
|
54
|
-
gem 'rubocop', '~> 1.
|
57
|
+
gem 'rubocop', '~> 1.16', require: false
|
55
58
|
```
|
56
59
|
|
57
60
|
See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
|
@@ -73,7 +76,7 @@ You can read a lot more about RuboCop in its [official docs](https://docs.ruboco
|
|
73
76
|
|
74
77
|
RuboCop officially supports the following Ruby implementations:
|
75
78
|
|
76
|
-
* MRI 2.
|
79
|
+
* MRI 2.5+
|
77
80
|
* JRuby 9.2+
|
78
81
|
|
79
82
|
See the [compatibility documentation](https://docs.rubocop.org/rubocop/compatibility.html) for further details.
|
data/config/default.yml
CHANGED
@@ -130,7 +130,7 @@ AllCops:
|
|
130
130
|
# What MRI version of the Ruby interpreter is the inspected code intended to
|
131
131
|
# run on? (If there is more than one, set this to the lowest version.)
|
132
132
|
# If a value is specified for TargetRubyVersion then it is used. Acceptable
|
133
|
-
# values are specificed as a float (i.e.
|
133
|
+
# values are specificed as a float (i.e. 3.0); the teeny version of Ruby
|
134
134
|
# should not be included. If the project specifies a Ruby version in the
|
135
135
|
# .tool-versions or .ruby-version files, Gemfile or gems.rb file, RuboCop will
|
136
136
|
# try to determine the desired version of Ruby by inspecting the
|
@@ -138,7 +138,7 @@ AllCops:
|
|
138
138
|
# or gems.locked file. (Although the Ruby version is specified in the Gemfile
|
139
139
|
# or gems.rb file, RuboCop reads the final value from the lock file.) If the
|
140
140
|
# Ruby version is still unresolved, RuboCop will use the oldest officially
|
141
|
-
# supported Ruby version (currently Ruby 2.
|
141
|
+
# supported Ruby version (currently Ruby 2.5).
|
142
142
|
TargetRubyVersion: ~
|
143
143
|
# Determines if a notification for extension libraries should be shown when
|
144
144
|
# rubocop is run. Keys are the name of the extension, and values are an array
|
@@ -174,6 +174,20 @@ Bundler/GemComment:
|
|
174
174
|
IgnoredGems: []
|
175
175
|
OnlyFor: []
|
176
176
|
|
177
|
+
Bundler/GemVersion:
|
178
|
+
Description: 'Requires or forbids specifying gem versions.'
|
179
|
+
Enabled: false
|
180
|
+
VersionAdded: '1.14'
|
181
|
+
EnforcedStyle: 'required'
|
182
|
+
SupportedStyles:
|
183
|
+
- 'required'
|
184
|
+
- 'forbidden'
|
185
|
+
Include:
|
186
|
+
- '**/*.gemfile'
|
187
|
+
- '**/Gemfile'
|
188
|
+
- '**/gems.rb'
|
189
|
+
AllowedGems: []
|
190
|
+
|
177
191
|
Bundler/InsecureProtocolSource:
|
178
192
|
Description: >-
|
179
193
|
The source `:gemcutter`, `:rubygems` and `:rubyforge` are deprecated
|
@@ -363,10 +377,11 @@ Layout/BlockEndNewline:
|
|
363
377
|
VersionAdded: '0.49'
|
364
378
|
|
365
379
|
Layout/CaseIndentation:
|
366
|
-
Description: 'Indentation of when in a case/when/[else/]end.'
|
380
|
+
Description: 'Indentation of when in a case/(when|in)/[else/]end.'
|
367
381
|
StyleGuide: '#indent-when-to-case'
|
368
382
|
Enabled: true
|
369
383
|
VersionAdded: '0.49'
|
384
|
+
VersionChanged: '1.16'
|
370
385
|
EnforcedStyle: case
|
371
386
|
SupportedStyles:
|
372
387
|
- case
|
@@ -757,7 +772,7 @@ Layout/HashAlignment:
|
|
757
772
|
Enabled: true
|
758
773
|
AllowMultipleStyles: true
|
759
774
|
VersionAdded: '0.49'
|
760
|
-
VersionChanged: '
|
775
|
+
VersionChanged: '1.16'
|
761
776
|
# Alignment of entries using hash rocket as separator. Valid values are:
|
762
777
|
#
|
763
778
|
# key - left alignment of keys
|
@@ -1101,11 +1116,24 @@ Layout/ParameterAlignment:
|
|
1101
1116
|
# But it can be overridden by setting this parameter
|
1102
1117
|
IndentationWidth: ~
|
1103
1118
|
|
1119
|
+
Layout/RedundantLineBreak:
|
1120
|
+
Description: >-
|
1121
|
+
Do not break up an expression into multiple lines when it fits
|
1122
|
+
on a single line.
|
1123
|
+
Enabled: false
|
1124
|
+
InspectBlocks: false
|
1125
|
+
VersionAdded: '1.13'
|
1126
|
+
|
1104
1127
|
Layout/RescueEnsureAlignment:
|
1105
1128
|
Description: 'Align rescues and ensures correctly.'
|
1106
1129
|
Enabled: true
|
1107
1130
|
VersionAdded: '0.49'
|
1108
1131
|
|
1132
|
+
Layout/SingleLineBlockChain:
|
1133
|
+
Description: 'Put method call on a separate line if chained to a single line block.'
|
1134
|
+
Enabled: false
|
1135
|
+
VersionAdded: '1.14'
|
1136
|
+
|
1109
1137
|
Layout/SpaceAfterColon:
|
1110
1138
|
Description: 'Use spaces after colons.'
|
1111
1139
|
StyleGuide: '#spaces-operators'
|
@@ -1380,6 +1408,8 @@ Lint/AmbiguousBlockAssociation:
|
|
1380
1408
|
StyleGuide: '#syntax'
|
1381
1409
|
Enabled: true
|
1382
1410
|
VersionAdded: '0.48'
|
1411
|
+
VersionChanged: '1.13'
|
1412
|
+
IgnoredMethods: []
|
1383
1413
|
|
1384
1414
|
Lint/AmbiguousOperator:
|
1385
1415
|
Description: >-
|
@@ -1583,7 +1613,7 @@ Lint/EmptyBlock:
|
|
1583
1613
|
Description: 'This cop checks for blocks without a body.'
|
1584
1614
|
Enabled: pending
|
1585
1615
|
VersionAdded: '1.1'
|
1586
|
-
VersionChanged: '1.
|
1616
|
+
VersionChanged: '1.15'
|
1587
1617
|
AllowComments: true
|
1588
1618
|
AllowEmptyLambdas: true
|
1589
1619
|
|
@@ -1616,6 +1646,12 @@ Lint/EmptyFile:
|
|
1616
1646
|
AllowComments: true
|
1617
1647
|
VersionAdded: '0.90'
|
1618
1648
|
|
1649
|
+
Lint/EmptyInPattern:
|
1650
|
+
Description: 'Checks for the presence of `in` pattern branches without a body.'
|
1651
|
+
Enabled: pending
|
1652
|
+
AllowComments: true
|
1653
|
+
VersionAdded: '1.16'
|
1654
|
+
|
1619
1655
|
Lint/EmptyInterpolation:
|
1620
1656
|
Description: 'Checks for empty string interpolation.'
|
1621
1657
|
Enabled: true
|
@@ -2063,6 +2099,7 @@ Lint/SymbolConversion:
|
|
2063
2099
|
Description: 'Checks for unnecessary symbol conversions.'
|
2064
2100
|
Enabled: pending
|
2065
2101
|
VersionAdded: '1.9'
|
2102
|
+
VersionChanged: '1.16'
|
2066
2103
|
EnforcedStyle: strict
|
2067
2104
|
SupportedStyles:
|
2068
2105
|
- strict
|
@@ -3451,6 +3488,7 @@ Style/HashAsLastArrayItem:
|
|
3451
3488
|
|
3452
3489
|
Style/HashConversion:
|
3453
3490
|
Description: 'Avoid Hash[] in favor of ary.to_h or literal hashes.'
|
3491
|
+
StyleGuide: '#avoid-hash-constructor'
|
3454
3492
|
Enabled: pending
|
3455
3493
|
VersionAdded: '1.10'
|
3456
3494
|
VersionChanged: '1.11'
|
@@ -3460,8 +3498,10 @@ Style/HashEachMethods:
|
|
3460
3498
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
3461
3499
|
StyleGuide: '#hash-each'
|
3462
3500
|
Enabled: true
|
3463
|
-
VersionAdded: '0.80'
|
3464
3501
|
Safe: false
|
3502
|
+
VersionAdded: '0.80'
|
3503
|
+
VersionChanged: '1.16'
|
3504
|
+
AllowedReceivers: []
|
3465
3505
|
|
3466
3506
|
Style/HashExcept:
|
3467
3507
|
Description: >-
|
@@ -3524,6 +3564,7 @@ Style/IdenticalConditionalBranches:
|
|
3524
3564
|
out of the conditional.
|
3525
3565
|
Enabled: true
|
3526
3566
|
VersionAdded: '0.36'
|
3567
|
+
VersionChanged: '1.16'
|
3527
3568
|
|
3528
3569
|
Style/IfInsideElse:
|
3529
3570
|
Description: 'Finds if nodes inside else, which can be converted to elsif.'
|
@@ -3570,6 +3611,12 @@ Style/ImplicitRuntimeError:
|
|
3570
3611
|
Enabled: false
|
3571
3612
|
VersionAdded: '0.41'
|
3572
3613
|
|
3614
|
+
Style/InPatternThen:
|
3615
|
+
Description: 'Checks for `in;` uses in `case` expressions.'
|
3616
|
+
StyleGuide: '#no-in-pattern-semicolons'
|
3617
|
+
Enabled: pending
|
3618
|
+
VersionAdded: '1.16'
|
3619
|
+
|
3573
3620
|
Style/InfiniteLoop:
|
3574
3621
|
Description: >-
|
3575
3622
|
Use Kernel#loop for infinite loops.
|
@@ -3798,6 +3845,12 @@ Style/MultilineIfThen:
|
|
3798
3845
|
VersionAdded: '0.9'
|
3799
3846
|
VersionChanged: '0.26'
|
3800
3847
|
|
3848
|
+
Style/MultilineInPatternThen:
|
3849
|
+
Description: 'Do not use `then` for multi-line `in` statement.'
|
3850
|
+
StyleGuide: '#no-then'
|
3851
|
+
Enabled: pending
|
3852
|
+
VersionAdded: '1.16'
|
3853
|
+
|
3801
3854
|
Style/MultilineMemoization:
|
3802
3855
|
Description: 'Wrap multiline memoizations in a `begin` and `end` block.'
|
3803
3856
|
Enabled: true
|
@@ -3969,6 +4022,7 @@ Style/NilLambda:
|
|
3969
4022
|
Description: 'Prefer `-> {}` to `-> { nil }`.'
|
3970
4023
|
Enabled: pending
|
3971
4024
|
VersionAdded: '1.3'
|
4025
|
+
VersionChanged: '1.15'
|
3972
4026
|
|
3973
4027
|
Style/NonNilCheck:
|
3974
4028
|
Description: 'Checks for redundant nil checks.'
|
@@ -4155,6 +4209,16 @@ Style/Proc:
|
|
4155
4209
|
VersionAdded: '0.9'
|
4156
4210
|
VersionChanged: '0.18'
|
4157
4211
|
|
4212
|
+
Style/QuotedSymbols:
|
4213
|
+
Description: 'Use a consistent style for quoted symbols.'
|
4214
|
+
Enabled: pending
|
4215
|
+
VersionAdded: '1.16'
|
4216
|
+
EnforcedStyle: same_as_string_literals
|
4217
|
+
SupportedStyles:
|
4218
|
+
- same_as_string_literals
|
4219
|
+
- single_quotes
|
4220
|
+
- double_quotes
|
4221
|
+
|
4158
4222
|
Style/RaiseArgs:
|
4159
4223
|
Description: 'Checks the arguments passed to raise/fail.'
|
4160
4224
|
StyleGuide: '#exception-class-messages'
|
@@ -4622,6 +4686,12 @@ Style/TernaryParentheses:
|
|
4622
4686
|
- require_parentheses_when_complex
|
4623
4687
|
AllowSafeAssignment: true
|
4624
4688
|
|
4689
|
+
Style/TopLevelMethodDefinition:
|
4690
|
+
Description: 'This cop looks for top-level method definitions.'
|
4691
|
+
StyleGuide: '#top-level-methods'
|
4692
|
+
Enabled: false
|
4693
|
+
VersionAdded: '1.15'
|
4694
|
+
|
4625
4695
|
Style/TrailingBodyOnClass:
|
4626
4696
|
Description: 'Class body goes below class statement.'
|
4627
4697
|
Enabled: true
|
@@ -4708,7 +4778,7 @@ Style/TrivialAccessors:
|
|
4708
4778
|
StyleGuide: '#attr_family'
|
4709
4779
|
Enabled: true
|
4710
4780
|
VersionAdded: '0.9'
|
4711
|
-
VersionChanged: '
|
4781
|
+
VersionChanged: '1.15'
|
4712
4782
|
# When set to `false` the cop will suggest the use of accessor methods
|
4713
4783
|
# in situations like:
|
4714
4784
|
#
|
@@ -4727,7 +4797,7 @@ Style/TrivialAccessors:
|
|
4727
4797
|
# on_exception :restart
|
4728
4798
|
#
|
4729
4799
|
# Commonly used in DSLs
|
4730
|
-
AllowDSLWriters:
|
4800
|
+
AllowDSLWriters: true
|
4731
4801
|
IgnoreClassMethods: false
|
4732
4802
|
AllowedMethods:
|
4733
4803
|
- to_ary
|
data/exe/rubocop
CHANGED
@@ -9,9 +9,7 @@ require 'benchmark'
|
|
9
9
|
cli = RuboCop::CLI.new
|
10
10
|
result = 0
|
11
11
|
|
12
|
-
time = Benchmark.realtime
|
13
|
-
result = cli.run
|
14
|
-
end
|
12
|
+
time = Benchmark.realtime { result = cli.run }
|
15
13
|
|
16
14
|
puts "Finished in #{time} seconds" if cli.options[:debug] || cli.options[:display_time]
|
17
15
|
exit result
|
data/lib/rubocop.rb
CHANGED
@@ -18,7 +18,6 @@ require_relative 'rubocop/ext/regexp_node'
|
|
18
18
|
require_relative 'rubocop/ext/regexp_parser'
|
19
19
|
|
20
20
|
require_relative 'rubocop/core_ext/string'
|
21
|
-
require_relative 'rubocop/core_ext/hash'
|
22
21
|
require_relative 'rubocop/ext/processed_source'
|
23
22
|
|
24
23
|
require_relative 'rubocop/path_util'
|
@@ -83,6 +82,7 @@ require_relative 'rubocop/cop/mixin/end_keyword_alignment'
|
|
83
82
|
require_relative 'rubocop/cop/mixin/enforce_superclass'
|
84
83
|
require_relative 'rubocop/cop/mixin/first_element_line_break'
|
85
84
|
require_relative 'rubocop/cop/mixin/frozen_string_literal'
|
85
|
+
require_relative 'rubocop/cop/mixin/gem_declaration'
|
86
86
|
require_relative 'rubocop/cop/mixin/hash_alignment_styles'
|
87
87
|
require_relative 'rubocop/cop/mixin/hash_transform_method'
|
88
88
|
require_relative 'rubocop/cop/mixin/ignored_pattern'
|
@@ -119,6 +119,7 @@ require_relative 'rubocop/cop/mixin/surrounding_space'
|
|
119
119
|
require_relative 'rubocop/cop/mixin/statement_modifier'
|
120
120
|
require_relative 'rubocop/cop/mixin/string_help'
|
121
121
|
require_relative 'rubocop/cop/mixin/string_literals_help'
|
122
|
+
require_relative 'rubocop/cop/mixin/symbol_help'
|
122
123
|
require_relative 'rubocop/cop/mixin/target_ruby_version'
|
123
124
|
require_relative 'rubocop/cop/mixin/trailing_body'
|
124
125
|
require_relative 'rubocop/cop/mixin/trailing_comma'
|
@@ -149,6 +150,7 @@ require_relative 'rubocop/cop/correctors/unused_arg_corrector'
|
|
149
150
|
|
150
151
|
require_relative 'rubocop/cop/bundler/duplicated_gem'
|
151
152
|
require_relative 'rubocop/cop/bundler/gem_comment'
|
153
|
+
require_relative 'rubocop/cop/bundler/gem_version'
|
152
154
|
require_relative 'rubocop/cop/bundler/insecure_protocol_source'
|
153
155
|
require_relative 'rubocop/cop/bundler/ordered_gems'
|
154
156
|
|
@@ -222,7 +224,9 @@ require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
|
|
222
224
|
require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
|
223
225
|
require_relative 'rubocop/cop/layout/multiline_operation_indentation'
|
224
226
|
require_relative 'rubocop/cop/layout/parameter_alignment'
|
227
|
+
require_relative 'rubocop/cop/layout/redundant_line_break'
|
225
228
|
require_relative 'rubocop/cop/layout/rescue_ensure_alignment'
|
229
|
+
require_relative 'rubocop/cop/layout/single_line_block_chain'
|
226
230
|
require_relative 'rubocop/cop/layout/space_after_colon'
|
227
231
|
require_relative 'rubocop/cop/layout/space_after_comma'
|
228
232
|
require_relative 'rubocop/cop/layout/space_after_method_name'
|
@@ -284,6 +288,7 @@ require_relative 'rubocop/cop/lint/empty_conditional_body'
|
|
284
288
|
require_relative 'rubocop/cop/lint/empty_ensure'
|
285
289
|
require_relative 'rubocop/cop/lint/empty_expression'
|
286
290
|
require_relative 'rubocop/cop/lint/empty_file'
|
291
|
+
require_relative 'rubocop/cop/lint/empty_in_pattern'
|
287
292
|
require_relative 'rubocop/cop/lint/empty_interpolation'
|
288
293
|
require_relative 'rubocop/cop/lint/empty_when'
|
289
294
|
require_relative 'rubocop/cop/lint/ensure_return'
|
@@ -487,6 +492,7 @@ require_relative 'rubocop/cop/style/if_unless_modifier_of_if_unless'
|
|
487
492
|
require_relative 'rubocop/cop/style/if_with_boolean_literal_branches'
|
488
493
|
require_relative 'rubocop/cop/style/if_with_semicolon'
|
489
494
|
require_relative 'rubocop/cop/style/implicit_runtime_error'
|
495
|
+
require_relative 'rubocop/cop/style/in_pattern_then'
|
490
496
|
require_relative 'rubocop/cop/style/infinite_loop'
|
491
497
|
require_relative 'rubocop/cop/style/inverse_methods'
|
492
498
|
require_relative 'rubocop/cop/style/inline_comment'
|
@@ -497,6 +503,7 @@ require_relative 'rubocop/cop/style/lambda_call'
|
|
497
503
|
require_relative 'rubocop/cop/style/line_end_concatenation'
|
498
504
|
require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
|
499
505
|
require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
|
506
|
+
require_relative 'rubocop/cop/style/multiline_in_pattern_then'
|
500
507
|
require_relative 'rubocop/cop/style/redundant_assignment'
|
501
508
|
require_relative 'rubocop/cop/style/redundant_fetch_block'
|
502
509
|
require_relative 'rubocop/cop/style/redundant_file_extension_in_require'
|
@@ -547,6 +554,7 @@ require_relative 'rubocop/cop/style/percent_q_literals'
|
|
547
554
|
require_relative 'rubocop/cop/style/perl_backrefs'
|
548
555
|
require_relative 'rubocop/cop/style/preferred_hash_methods'
|
549
556
|
require_relative 'rubocop/cop/style/proc'
|
557
|
+
require_relative 'rubocop/cop/style/quoted_symbols'
|
550
558
|
require_relative 'rubocop/cop/style/raise_args'
|
551
559
|
require_relative 'rubocop/cop/style/random_with_offset'
|
552
560
|
require_relative 'rubocop/cop/style/redundant_argument'
|
@@ -595,6 +603,7 @@ require_relative 'rubocop/cop/style/symbol_array'
|
|
595
603
|
require_relative 'rubocop/cop/style/symbol_literal'
|
596
604
|
require_relative 'rubocop/cop/style/symbol_proc'
|
597
605
|
require_relative 'rubocop/cop/style/ternary_parentheses'
|
606
|
+
require_relative 'rubocop/cop/style/top_level_method_definition'
|
598
607
|
require_relative 'rubocop/cop/style/trailing_body_on_class'
|
599
608
|
require_relative 'rubocop/cop/style/trailing_body_on_method_definition'
|
600
609
|
require_relative 'rubocop/cop/style/trailing_body_on_module'
|
data/lib/rubocop/cached_data.rb
CHANGED
@@ -51,9 +51,7 @@ module RuboCop
|
|
51
51
|
location = Parser::Source::Range.new(source_buffer,
|
52
52
|
o['location']['begin_pos'],
|
53
53
|
o['location']['end_pos'])
|
54
|
-
Cop::Offense.new(o['severity'], location,
|
55
|
-
o['message'],
|
56
|
-
o['cop_name'], o['status'].to_sym)
|
54
|
+
Cop::Offense.new(o['severity'], location, o['message'], o['cop_name'], o['status'].to_sym)
|
57
55
|
end
|
58
56
|
end
|
59
57
|
end
|
data/lib/rubocop/cli.rb
CHANGED
@@ -78,12 +78,10 @@ module RuboCop
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def validate_options_vs_config
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
'UseCache: false is not allowed.'
|
86
|
-
end
|
81
|
+
return unless @options[:parallel] && !@config_store.for_pwd.for_all_cops['UseCache']
|
82
|
+
|
83
|
+
raise OptionArgumentError, '-P/--parallel uses caching to speed up execution, so combining ' \
|
84
|
+
'with AllCops: UseCache: false is not allowed.'
|
87
85
|
end
|
88
86
|
|
89
87
|
def act_on_options
|
@@ -14,10 +14,8 @@ module RuboCop
|
|
14
14
|
PHASE_1 = 'Phase 1 of 2: run Layout/LineLength cop'
|
15
15
|
PHASE_2 = 'Phase 2 of 2: run all cops'
|
16
16
|
|
17
|
-
PHASE_1_OVERRIDDEN =
|
18
|
-
|
19
|
-
PHASE_1_DISABLED =
|
20
|
-
'(skipped because Layout/LineLength is disabled)'
|
17
|
+
PHASE_1_OVERRIDDEN = '(skipped because the default Layout/LineLength:Max is overridden)'
|
18
|
+
PHASE_1_DISABLED = '(skipped because Layout/LineLength is disabled)'
|
21
19
|
|
22
20
|
def run
|
23
21
|
add_formatter
|
@@ -31,9 +29,7 @@ module RuboCop
|
|
31
29
|
def maybe_run_line_length_cop
|
32
30
|
if !line_length_enabled?(@config_store.for_pwd)
|
33
31
|
skip_line_length_cop(PHASE_1_DISABLED)
|
34
|
-
elsif !same_max_line_length?(
|
35
|
-
@config_store.for_pwd, ConfigLoader.default_configuration
|
36
|
-
)
|
32
|
+
elsif !same_max_line_length?(@config_store.for_pwd, ConfigLoader.default_configuration)
|
37
33
|
skip_line_length_cop(PHASE_1_OVERRIDDEN)
|
38
34
|
else
|
39
35
|
run_line_length_cop
|
@@ -71,10 +67,7 @@ module RuboCop
|
|
71
67
|
@options.delete(:only)
|
72
68
|
@config_store = ConfigStore.new
|
73
69
|
# Save the todo configuration of the LineLength cop.
|
74
|
-
|
75
|
-
.lines
|
76
|
-
.drop_while { |line| line.start_with?('#') }
|
77
|
-
.join
|
70
|
+
File.read(AUTO_GENERATED_FILE).lines.drop_while { |line| line.start_with?('#') }.join
|
78
71
|
end
|
79
72
|
|
80
73
|
def run_all_cops(line_length_contents)
|
@@ -82,9 +75,7 @@ module RuboCop
|
|
82
75
|
result = execute_runner
|
83
76
|
# This run was made with the current maximum length allowed, so append
|
84
77
|
# the saved setting for LineLength.
|
85
|
-
File.open(AUTO_GENERATED_FILE, 'a')
|
86
|
-
f.write(line_length_contents)
|
87
|
-
end
|
78
|
+
File.open(AUTO_GENERATED_FILE, 'a') { |f| f.write(line_length_contents) }
|
88
79
|
result
|
89
80
|
end
|
90
81
|
|
@@ -96,8 +87,7 @@ module RuboCop
|
|
96
87
|
end
|
97
88
|
|
98
89
|
def add_formatter
|
99
|
-
@options[:formatters] << [Formatter::DisabledConfigFormatter,
|
100
|
-
AUTO_GENERATED_FILE]
|
90
|
+
@options[:formatters] << [Formatter::DisabledConfigFormatter, AUTO_GENERATED_FILE]
|
101
91
|
end
|
102
92
|
|
103
93
|
def execute_runner
|
@@ -125,9 +115,9 @@ module RuboCop
|
|
125
115
|
end
|
126
116
|
|
127
117
|
def existing_configuration(config_file)
|
128
|
-
|
129
|
-
|
130
|
-
|
118
|
+
File.read(config_file, encoding: Encoding::UTF_8)
|
119
|
+
.sub(/^inherit_from: *[^\n]+/, '')
|
120
|
+
.sub(/^inherit_from: *(\n *- *[^\n]+)+/, '')
|
131
121
|
end
|
132
122
|
|
133
123
|
def write_config_file(file_name, file_string, rubocop_yml_contents)
|