rubocop 0.87.0 → 0.90.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 +1 -1
- data/bin/rubocop-profile +32 -0
- data/config/default.yml +232 -33
- data/lib/rubocop.rb +36 -4
- data/lib/rubocop/cached_data.rb +1 -0
- data/lib/rubocop/cli.rb +2 -2
- data/lib/rubocop/cli/command.rb +1 -0
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +4 -3
- data/lib/rubocop/cli/command/base.rb +2 -0
- data/lib/rubocop/cli/command/execute_runner.rb +2 -1
- data/lib/rubocop/cli/command/init_dotfile.rb +1 -0
- data/lib/rubocop/cli/command/show_cops.rb +3 -2
- data/lib/rubocop/cli/command/version.rb +3 -2
- data/lib/rubocop/cli/environment.rb +1 -0
- data/lib/rubocop/comment_config.rb +10 -7
- data/lib/rubocop/config.rb +20 -3
- data/lib/rubocop/config_loader.rb +39 -16
- data/lib/rubocop/config_loader_resolver.rb +4 -3
- data/lib/rubocop/config_obsoletion.rb +7 -1
- data/lib/rubocop/config_store.rb +4 -0
- data/lib/rubocop/config_validator.rb +5 -4
- data/lib/rubocop/cop/autocorrect_logic.rb +1 -1
- data/lib/rubocop/cop/badge.rb +1 -1
- data/lib/rubocop/cop/base.rb +37 -6
- data/lib/rubocop/cop/bundler/gem_comment.rb +7 -3
- data/lib/rubocop/cop/commissioner.rb +47 -8
- data/lib/rubocop/cop/cop.rb +1 -1
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +4 -4
- data/lib/rubocop/cop/correctors/condition_corrector.rb +3 -5
- data/lib/rubocop/cop/correctors/empty_line_corrector.rb +9 -10
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +6 -6
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +34 -3
- data/lib/rubocop/cop/correctors/parentheses_corrector.rb +5 -8
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +6 -11
- data/lib/rubocop/cop/correctors/punctuation_corrector.rb +8 -10
- data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +15 -18
- data/lib/rubocop/cop/documentation.rb +22 -0
- data/lib/rubocop/cop/force.rb +1 -0
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +38 -12
- data/lib/rubocop/cop/generator.rb +1 -0
- data/lib/rubocop/cop/generator/configuration_injector.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +4 -12
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +8 -8
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +10 -7
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +7 -8
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -2
- data/lib/rubocop/cop/layout/block_alignment.rb +24 -20
- data/lib/rubocop/cop/layout/class_structure.rb +15 -53
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +4 -6
- data/lib/rubocop/cop/layout/comment_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/condition_position.rb +13 -15
- data/lib/rubocop/cop/layout/def_end_alignment.rb +7 -4
- data/lib/rubocop/cop/layout/dot_position.rb +21 -17
- data/lib/rubocop/cop/layout/empty_comment.rb +30 -23
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +19 -16
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +13 -13
- data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +144 -0
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +21 -23
- data/lib/rubocop/cop/layout/empty_lines.rb +6 -9
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +5 -6
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +7 -8
- data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +3 -6
- data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +2 -5
- data/lib/rubocop/cop/layout/end_alignment.rb +9 -9
- data/lib/rubocop/cop/layout/extra_spacing.rb +22 -36
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +5 -9
- data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/hash_alignment.rb +17 -20
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +15 -14
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +16 -13
- data/lib/rubocop/cop/layout/indentation_style.rb +0 -2
- data/lib/rubocop/cop/layout/initial_indentation.rb +6 -7
- data/lib/rubocop/cop/layout/leading_comment_space.rb +12 -10
- data/lib/rubocop/cop/layout/leading_empty_lines.rb +6 -11
- data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +10 -14
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +37 -24
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +5 -9
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +18 -23
- data/lib/rubocop/cop/layout/space_after_colon.rb +11 -7
- data/lib/rubocop/cop/layout/space_after_comma.rb +2 -5
- data/lib/rubocop/cop/layout/space_after_method_name.rb +5 -6
- data/lib/rubocop/cop/layout/space_after_not.rb +9 -11
- data/lib/rubocop/cop/layout/space_after_semicolon.rb +2 -5
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +3 -2
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +20 -15
- data/lib/rubocop/cop/layout/space_around_keyword.rb +17 -18
- data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +33 -66
- data/lib/rubocop/cop/layout/space_around_operators.rb +17 -16
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +23 -22
- data/lib/rubocop/cop/layout/space_before_comma.rb +3 -5
- data/lib/rubocop/cop/layout/space_before_comment.rb +10 -7
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +7 -7
- data/lib/rubocop/cop/layout/space_before_semicolon.rb +2 -5
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +9 -17
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +16 -18
- data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +3 -8
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +17 -16
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +16 -19
- data/lib/rubocop/cop/layout/space_inside_parens.rb +9 -14
- data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +5 -10
- data/lib/rubocop/cop/layout/space_inside_range_literal.rb +8 -17
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +13 -16
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +10 -11
- data/lib/rubocop/cop/layout/trailing_empty_lines.rb +10 -15
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +11 -11
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +7 -4
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +15 -10
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +11 -13
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +2 -2
- data/lib/rubocop/cop/lint/big_decimal_new.rb +10 -10
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +50 -0
- data/lib/rubocop/cop/lint/boolean_symbol.rb +16 -11
- data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
- data/lib/rubocop/cop/lint/constant_resolution.rb +2 -2
- data/lib/rubocop/cop/lint/debugger.rb +7 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +9 -10
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +21 -17
- data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +8 -2
- data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +39 -0
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +9 -6
- data/lib/rubocop/cop/lint/duplicate_require.rb +41 -0
- data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +49 -0
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/else_layout.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +67 -0
- data/lib/rubocop/cop/lint/empty_ensure.rb +5 -5
- data/lib/rubocop/cop/lint/empty_expression.rb +2 -2
- data/lib/rubocop/cop/lint/empty_file.rb +53 -0
- data/lib/rubocop/cop/lint/empty_interpolation.rb +5 -6
- data/lib/rubocop/cop/lint/empty_when.rb +2 -2
- data/lib/rubocop/cop/lint/ensure_return.rb +27 -29
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +11 -10
- data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
- data/lib/rubocop/cop/lint/float_comparison.rb +93 -0
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +5 -4
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +13 -14
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +5 -4
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +8 -8
- data/lib/rubocop/cop/lint/inherit_exception.rb +12 -7
- data/lib/rubocop/cop/lint/interpolation_check.rb +18 -15
- data/lib/rubocop/cop/lint/literal_as_condition.rb +14 -2
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -7
- data/lib/rubocop/cop/lint/loop.rb +23 -2
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +6 -5
- data/lib/rubocop/cop/lint/missing_super.rb +99 -0
- data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +3 -36
- data/lib/rubocop/cop/lint/multiple_comparison.rb +6 -9
- data/lib/rubocop/cop/lint/nested_method_definition.rb +14 -20
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -1
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +82 -11
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +2 -2
- data/lib/rubocop/cop/lint/number_conversion.rb +6 -9
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +11 -13
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +80 -0
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +4 -10
- data/lib/rubocop/cop/lint/percent_string_array.rb +3 -6
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +13 -12
- data/lib/rubocop/cop/lint/raise_exception.rb +12 -10
- data/lib/rubocop/cop/lint/rand_one.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +16 -19
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +7 -11
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +4 -7
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +13 -9
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +6 -13
- data/lib/rubocop/cop/lint/redundant_with_index.rb +11 -14
- data/lib/rubocop/cop/lint/redundant_with_object.rb +11 -14
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +4 -6
- data/lib/rubocop/cop/lint/require_parentheses.rb +2 -2
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_type.rb +8 -8
- data/lib/rubocop/cop/lint/return_in_void_context.rb +2 -4
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +3 -6
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +14 -10
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +7 -7
- data/lib/rubocop/cop/lint/script_permission.rb +10 -7
- data/lib/rubocop/cop/lint/self_assignment.rb +78 -0
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +5 -11
- data/lib/rubocop/cop/lint/shadowed_argument.rb +3 -3
- data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -2
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +7 -7
- data/lib/rubocop/cop/lint/struct_new_override.rb +1 -1
- data/lib/rubocop/cop/lint/suppressed_exception.rb +4 -7
- data/lib/rubocop/cop/lint/to_json.rb +4 -6
- data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +34 -0
- data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +57 -0
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +4 -4
- data/lib/rubocop/cop/lint/unified_integer.rb +4 -6
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_loop.rb +174 -0
- data/lib/rubocop/cop/lint/unused_block_argument.rb +8 -3
- data/lib/rubocop/cop/lint/unused_method_argument.rb +8 -3
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
- data/lib/rubocop/cop/lint/uri_regexp.rb +11 -47
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +25 -15
- data/lib/rubocop/cop/lint/useless_assignment.rb +4 -4
- data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +6 -15
- data/lib/rubocop/cop/lint/useless_method_definition.rb +77 -0
- data/lib/rubocop/cop/lint/useless_setter_call.rb +4 -6
- data/lib/rubocop/cop/lint/void.rb +3 -7
- data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
- data/lib/rubocop/cop/metrics/block_length.rb +2 -2
- data/lib/rubocop/cop/metrics/block_nesting.rb +2 -2
- data/lib/rubocop/cop/metrics/class_length.rb +2 -2
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +2 -1
- data/lib/rubocop/cop/metrics/method_length.rb +2 -2
- data/lib/rubocop/cop/metrics/module_length.rb +2 -2
- data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -6
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +7 -8
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +50 -5
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +53 -24
- data/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +37 -0
- data/lib/rubocop/cop/migration/department_name.rb +14 -16
- data/lib/rubocop/cop/mixin/alignment.rb +5 -1
- data/lib/rubocop/cop/mixin/allowed_methods.rb +2 -0
- data/lib/rubocop/cop/mixin/annotation_comment.rb +5 -0
- data/lib/rubocop/cop/mixin/array_min_size.rb +1 -1
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +17 -8
- data/lib/rubocop/cop/mixin/code_length.rb +22 -5
- data/lib/rubocop/cop/mixin/comments_help.rb +54 -0
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +8 -7
- data/lib/rubocop/cop/mixin/empty_parameter.rb +3 -1
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +3 -1
- data/lib/rubocop/cop/mixin/first_element_line_break.rb +3 -1
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +22 -11
- data/lib/rubocop/cop/mixin/line_length_help.rb +1 -3
- data/lib/rubocop/cop/mixin/method_complexity.rb +10 -2
- data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +3 -1
- data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +13 -12
- data/lib/rubocop/cop/mixin/negative_conditional.rb +2 -2
- data/lib/rubocop/cop/mixin/percent_array.rb +16 -9
- data/lib/rubocop/cop/mixin/range_help.rb +18 -4
- data/lib/rubocop/cop/mixin/regexp_literal_help.rb +1 -1
- data/lib/rubocop/cop/mixin/rescue_node.rb +10 -1
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +4 -3
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +4 -3
- data/lib/rubocop/cop/mixin/statement_modifier.rb +39 -10
- data/lib/rubocop/cop/mixin/surrounding_space.rb +8 -29
- data/lib/rubocop/cop/mixin/trailing_comma.rb +9 -11
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +6 -13
- data/lib/rubocop/cop/mixin/unused_argument.rb +4 -6
- data/lib/rubocop/cop/mixin/visibility_help.rb +50 -0
- data/lib/rubocop/cop/naming/accessor_method_name.rb +4 -2
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +3 -3
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +2 -2
- data/lib/rubocop/cop/naming/constant_name.rb +2 -2
- data/lib/rubocop/cop/naming/file_name.rb +3 -3
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +2 -2
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +2 -2
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -2
- data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +3 -5
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +12 -11
- data/lib/rubocop/cop/offense.rb +1 -0
- data/lib/rubocop/cop/registry.rb +3 -3
- data/lib/rubocop/cop/security/eval.rb +2 -2
- data/lib/rubocop/cop/security/json_load.rb +6 -8
- data/lib/rubocop/cop/security/marshal_load.rb +2 -4
- data/lib/rubocop/cop/security/open.rb +2 -2
- data/lib/rubocop/cop/security/yaml_load.rb +6 -6
- data/lib/rubocop/cop/severity.rb +0 -8
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +16 -9
- data/lib/rubocop/cop/style/accessor_grouping.rb +33 -20
- data/lib/rubocop/cop/style/alias.rb +41 -36
- data/lib/rubocop/cop/style/and_or.rb +9 -11
- data/lib/rubocop/cop/style/array_coercion.rb +63 -0
- data/lib/rubocop/cop/style/array_join.rb +6 -8
- data/lib/rubocop/cop/style/ascii_comments.rb +4 -4
- data/lib/rubocop/cop/style/attr.rb +11 -9
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +5 -7
- data/lib/rubocop/cop/style/bare_percent_literals.rb +10 -12
- data/lib/rubocop/cop/style/begin_block.rb +2 -2
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +58 -38
- data/lib/rubocop/cop/style/block_comments.rb +14 -18
- data/lib/rubocop/cop/style/block_delimiters.rb +23 -23
- data/lib/rubocop/cop/style/case_equality.rb +29 -5
- data/lib/rubocop/cop/style/case_like_if.rb +236 -0
- data/lib/rubocop/cop/style/class_and_module_children.rb +14 -11
- data/lib/rubocop/cop/style/class_check.rb +7 -9
- data/lib/rubocop/cop/style/class_methods.rb +7 -11
- data/lib/rubocop/cop/style/class_methods_definitions.rb +131 -0
- data/lib/rubocop/cop/style/class_vars.rb +6 -10
- data/lib/rubocop/cop/style/collection_methods.rb +11 -17
- data/lib/rubocop/cop/style/colon_method_call.rb +8 -9
- data/lib/rubocop/cop/style/colon_method_definition.rb +6 -6
- data/lib/rubocop/cop/style/combinable_loops.rb +89 -0
- data/lib/rubocop/cop/style/command_literal.rb +23 -24
- data/lib/rubocop/cop/style/comment_annotation.rb +15 -15
- data/lib/rubocop/cop/style/commented_keyword.rb +6 -3
- data/lib/rubocop/cop/style/conditional_assignment.rb +13 -4
- data/lib/rubocop/cop/style/constant_visibility.rb +3 -2
- data/lib/rubocop/cop/style/copyright.rb +12 -12
- data/lib/rubocop/cop/style/date_time.rb +1 -1
- data/lib/rubocop/cop/style/def_with_parentheses.rb +8 -10
- data/lib/rubocop/cop/style/dir.rb +7 -10
- data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +7 -9
- data/lib/rubocop/cop/style/documentation.rb +6 -8
- data/lib/rubocop/cop/style/documentation_method.rb +1 -1
- data/lib/rubocop/cop/style/double_cop_disable_directive.rb +12 -15
- data/lib/rubocop/cop/style/double_negation.rb +2 -2
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +5 -8
- data/lib/rubocop/cop/style/each_with_object.rb +16 -19
- data/lib/rubocop/cop/style/empty_block_parameter.rb +9 -10
- data/lib/rubocop/cop/style/empty_case_condition.rb +19 -20
- data/lib/rubocop/cop/style/empty_else.rb +17 -19
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +9 -10
- data/lib/rubocop/cop/style/empty_literal.rb +15 -16
- data/lib/rubocop/cop/style/empty_method.rb +10 -13
- data/lib/rubocop/cop/style/encoding.rb +5 -9
- data/lib/rubocop/cop/style/end_block.rb +4 -6
- data/lib/rubocop/cop/style/eval_with_location.rb +9 -7
- data/lib/rubocop/cop/style/even_odd.rb +7 -11
- data/lib/rubocop/cop/style/expand_path_arguments.rb +21 -20
- data/lib/rubocop/cop/style/explicit_block_argument.rb +102 -0
- data/lib/rubocop/cop/style/exponential_notation.rb +7 -9
- data/lib/rubocop/cop/style/float_division.rb +8 -11
- data/lib/rubocop/cop/style/for.rb +11 -15
- data/lib/rubocop/cop/style/format_string.rb +21 -19
- data/lib/rubocop/cop/style/format_string_token.rb +10 -12
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +19 -41
- data/lib/rubocop/cop/style/global_std_stream.rb +65 -0
- data/lib/rubocop/cop/style/global_vars.rb +2 -2
- data/lib/rubocop/cop/style/guard_clause.rb +6 -6
- data/lib/rubocop/cop/style/hash_as_last_array_item.rb +69 -0
- data/lib/rubocop/cop/style/hash_each_methods.rb +5 -8
- data/lib/rubocop/cop/style/hash_like_case.rb +76 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +10 -8
- data/lib/rubocop/cop/style/hash_transform_keys.rb +17 -3
- data/lib/rubocop/cop/style/hash_transform_values.rb +16 -2
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +2 -2
- data/lib/rubocop/cop/style/if_inside_else.rb +3 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +19 -41
- data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +3 -7
- data/lib/rubocop/cop/style/if_with_semicolon.rb +3 -6
- data/lib/rubocop/cop/style/implicit_runtime_error.rb +1 -1
- data/lib/rubocop/cop/style/infinite_loop.rb +24 -24
- data/lib/rubocop/cop/style/inline_comment.rb +3 -3
- data/lib/rubocop/cop/style/inverse_methods.rb +22 -32
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +58 -0
- data/lib/rubocop/cop/style/lambda.rb +7 -12
- data/lib/rubocop/cop/style/lambda_call.rb +14 -13
- data/lib/rubocop/cop/style/line_end_concatenation.rb +19 -16
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +2 -1
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +16 -11
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +4 -8
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +8 -7
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +12 -3
- data/lib/rubocop/cop/style/method_def_parentheses.rb +11 -16
- data/lib/rubocop/cop/style/min_max.rb +8 -12
- data/lib/rubocop/cop/style/missing_else.rb +11 -21
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +10 -3
- data/lib/rubocop/cop/style/mixin_grouping.rb +24 -27
- data/lib/rubocop/cop/style/mixin_usage.rb +1 -1
- data/lib/rubocop/cop/style/module_function.rb +10 -13
- data/lib/rubocop/cop/style/multiline_if_modifier.rb +3 -10
- data/lib/rubocop/cop/style/multiline_if_then.rb +4 -10
- data/lib/rubocop/cop/style/multiline_memoization.rb +14 -12
- data/lib/rubocop/cop/style/multiline_method_signature.rb +2 -2
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +4 -6
- data/lib/rubocop/cop/style/multiline_when_then.rb +9 -11
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +23 -20
- data/lib/rubocop/cop/style/negated_if.rb +6 -6
- data/lib/rubocop/cop/style/negated_unless.rb +6 -6
- data/lib/rubocop/cop/style/negated_while.rb +7 -15
- data/lib/rubocop/cop/style/nested_modifier.rb +10 -13
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +14 -12
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +14 -16
- data/lib/rubocop/cop/style/next.rb +10 -14
- data/lib/rubocop/cop/style/nil_comparison.rb +11 -11
- data/lib/rubocop/cop/style/non_nil_check.rb +32 -26
- data/lib/rubocop/cop/style/not.rb +19 -26
- data/lib/rubocop/cop/style/numeric_literal_prefix.rb +4 -9
- data/lib/rubocop/cop/style/numeric_predicate.rb +11 -15
- data/lib/rubocop/cop/style/one_line_conditional.rb +71 -23
- data/lib/rubocop/cop/style/option_hash.rb +1 -1
- data/lib/rubocop/cop/style/optional_arguments.rb +1 -1
- data/lib/rubocop/cop/style/optional_boolean_parameter.rb +42 -0
- data/lib/rubocop/cop/style/or_assignment.rb +13 -10
- data/lib/rubocop/cop/style/parallel_assignment.rb +18 -18
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +6 -6
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +14 -20
- data/lib/rubocop/cop/style/percent_q_literals.rb +8 -10
- data/lib/rubocop/cop/style/perl_backrefs.rb +8 -10
- data/lib/rubocop/cop/style/preferred_hash_methods.rb +9 -14
- data/lib/rubocop/cop/style/proc.rb +6 -6
- data/lib/rubocop/cop/style/raise_args.rb +13 -24
- data/lib/rubocop/cop/style/random_with_offset.rb +16 -16
- data/lib/rubocop/cop/style/redundant_assignment.rb +8 -10
- data/lib/rubocop/cop/style/redundant_begin.rb +7 -9
- data/lib/rubocop/cop/style/redundant_capital_w.rb +6 -9
- data/lib/rubocop/cop/style/redundant_condition.rb +20 -9
- data/lib/rubocop/cop/style/redundant_exception.rb +4 -0
- data/lib/rubocop/cop/style/redundant_fetch_block.rb +3 -12
- data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +50 -0
- data/lib/rubocop/cop/style/redundant_freeze.rb +3 -6
- data/lib/rubocop/cop/style/redundant_interpolation.rb +25 -24
- data/lib/rubocop/cop/style/redundant_parentheses.rb +7 -9
- data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +6 -13
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +16 -25
- data/lib/rubocop/cop/style/redundant_self.rb +2 -2
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +116 -0
- data/lib/rubocop/cop/style/redundant_sort.rb +26 -12
- data/lib/rubocop/cop/style/regexp_literal.rb +10 -21
- data/lib/rubocop/cop/style/rescue_modifier.rb +29 -9
- data/lib/rubocop/cop/style/return_nil.rb +5 -5
- data/lib/rubocop/cop/style/safe_navigation.rb +17 -16
- data/lib/rubocop/cop/style/sample.rb +10 -13
- data/lib/rubocop/cop/style/self_assignment.rb +26 -22
- data/lib/rubocop/cop/style/semicolon.rb +6 -9
- data/lib/rubocop/cop/style/send.rb +2 -2
- data/lib/rubocop/cop/style/signal_exception.rb +23 -19
- data/lib/rubocop/cop/style/single_argument_dig.rb +54 -0
- data/lib/rubocop/cop/style/single_line_block_params.rb +4 -2
- data/lib/rubocop/cop/style/single_line_methods.rb +18 -17
- data/lib/rubocop/cop/style/slicing_with_range.rb +4 -7
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +66 -0
- data/lib/rubocop/cop/style/special_global_vars.rb +10 -15
- data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +17 -20
- data/lib/rubocop/cop/style/stderr_puts.rb +4 -6
- data/lib/rubocop/cop/style/string_concatenation.rb +92 -0
- data/lib/rubocop/cop/style/string_hash_keys.rb +6 -7
- data/lib/rubocop/cop/style/string_methods.rb +7 -17
- data/lib/rubocop/cop/style/strip.rb +8 -14
- data/lib/rubocop/cop/style/struct_inheritance.rb +4 -7
- data/lib/rubocop/cop/style/symbol_array.rb +6 -17
- data/lib/rubocop/cop/style/symbol_literal.rb +4 -6
- data/lib/rubocop/cop/style/symbol_proc.rb +15 -19
- data/lib/rubocop/cop/style/ternary_parentheses.rb +21 -20
- data/lib/rubocop/cop/style/trailing_body_on_class.rb +3 -6
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +4 -7
- data/lib/rubocop/cop/style/trailing_body_on_module.rb +3 -6
- data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +2 -5
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +2 -5
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +7 -6
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +2 -5
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +9 -32
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +8 -17
- data/lib/rubocop/cop/style/trivial_accessors.rb +26 -30
- data/lib/rubocop/cop/style/unless_else.rb +5 -8
- data/lib/rubocop/cop/style/unpack_first.rb +4 -8
- data/lib/rubocop/cop/style/variable_interpolation.rb +7 -10
- data/lib/rubocop/cop/style/when_then.rb +4 -6
- data/lib/rubocop/cop/style/while_until_do.rb +6 -16
- data/lib/rubocop/cop/style/while_until_modifier.rb +6 -20
- data/lib/rubocop/cop/style/word_array.rb +5 -23
- data/lib/rubocop/cop/style/yoda_condition.rb +4 -15
- data/lib/rubocop/cop/style/zero_length_predicate.rb +19 -17
- data/lib/rubocop/cop/team.rb +2 -1
- data/lib/rubocop/cop/tokens_util.rb +84 -0
- data/lib/rubocop/cop/util.rb +3 -13
- data/lib/rubocop/cop/utils/format_string.rb +3 -5
- data/lib/rubocop/cop/variable_force.rb +2 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -0
- data/lib/rubocop/cop/variable_force/variable.rb +7 -5
- data/lib/rubocop/cops_documentation_generator.rb +284 -0
- data/lib/rubocop/core_ext/string.rb +1 -1
- data/lib/rubocop/error.rb +1 -0
- data/lib/rubocop/ext/regexp_node.rb +46 -0
- data/lib/rubocop/file_finder.rb +13 -12
- data/lib/rubocop/formatter/auto_gen_config_formatter.rb +2 -1
- data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -2
- data/lib/rubocop/formatter/formatter_set.rb +1 -0
- data/lib/rubocop/formatter/html_formatter.rb +2 -0
- data/lib/rubocop/formatter/junit_formatter.rb +1 -1
- data/lib/rubocop/formatter/progress_formatter.rb +2 -1
- data/lib/rubocop/formatter/quiet_formatter.rb +1 -1
- data/lib/rubocop/formatter/simple_text_formatter.rb +36 -6
- data/lib/rubocop/name_similarity.rb +1 -0
- data/lib/rubocop/options.rb +9 -6
- data/lib/rubocop/path_util.rb +17 -17
- data/lib/rubocop/rake_task.rb +1 -0
- data/lib/rubocop/remote_config.rb +1 -0
- data/lib/rubocop/result_cache.rb +13 -8
- data/lib/rubocop/rspec/cop_helper.rb +4 -1
- data/lib/rubocop/rspec/expect_offense.rb +49 -7
- data/lib/rubocop/rspec/shared_contexts.rb +25 -14
- data/lib/rubocop/runner.rb +7 -7
- data/lib/rubocop/string_interpreter.rb +3 -0
- data/lib/rubocop/target_finder.rb +14 -10
- data/lib/rubocop/target_ruby.rb +6 -0
- data/lib/rubocop/version.rb +3 -2
- data/lib/rubocop/yaml_duplication_checker.rb +1 -0
- metadata +42 -8
- data/lib/rubocop/cop/lint/useless_comparison.rb +0 -28
- data/lib/rubocop/cop/mixin/parser_diagnostic.rb +0 -37
- data/lib/rubocop/cop/mixin/too_many_lines.rb +0 -25
- data/lib/rubocop/cop/style/method_missing_super.rb +0 -34
@@ -17,7 +17,10 @@ module CopHelper
|
|
17
17
|
RuboCop::Formatter::DisabledConfigFormatter.config_to_allow_offenses = {}
|
18
18
|
RuboCop::Formatter::DisabledConfigFormatter.detected_styles = {}
|
19
19
|
processed_source = parse_source(source, file)
|
20
|
-
|
20
|
+
unless processed_source.valid_syntax?
|
21
|
+
raise 'Error parsing example code: ' \
|
22
|
+
"#{processed_source.diagnostics.map(&:render).join("\n")}"
|
23
|
+
end
|
21
24
|
|
22
25
|
_investigate(cop, processed_source)
|
23
26
|
end
|
@@ -73,25 +73,37 @@ module RuboCop
|
|
73
73
|
# expect_no_corrections
|
74
74
|
#
|
75
75
|
# If your code has variables of different lengths, you can use `%{foo}`,
|
76
|
-
# `^{foo}`, and `_{foo}` to format your template
|
76
|
+
# `^{foo}`, and `_{foo}` to format your template; you can also abbreviate
|
77
|
+
# offense messages with `[...]`:
|
77
78
|
#
|
78
79
|
# %w[raise fail].each do |keyword|
|
79
80
|
# expect_offense(<<~RUBY, keyword: keyword)
|
80
81
|
# %{keyword}(RuntimeError, msg)
|
81
|
-
# ^{keyword}^^^^^^^^^^^^^^^^^^^ Redundant `RuntimeError` argument
|
82
|
+
# ^{keyword}^^^^^^^^^^^^^^^^^^^ Redundant `RuntimeError` argument [...]
|
82
83
|
# RUBY
|
83
84
|
#
|
84
85
|
# %w[has_one has_many].each do |type|
|
85
86
|
# expect_offense(<<~RUBY, type: type)
|
86
87
|
# class Book
|
87
88
|
# %{type} :chapter, foreign_key: 'book_id'
|
88
|
-
# _{type} ^^^^^^^^^^^^^^^^^^^^^^ Specifying the default
|
89
|
+
# _{type} ^^^^^^^^^^^^^^^^^^^^^^ Specifying the default [...]
|
89
90
|
# end
|
90
91
|
# RUBY
|
91
92
|
# end
|
93
|
+
#
|
94
|
+
# If you need to specify an offense on a blank line, use the empty `^{}` marker:
|
95
|
+
#
|
96
|
+
# @example `^{}` empty line offense
|
97
|
+
#
|
98
|
+
# expect_offense(<<~RUBY)
|
99
|
+
#
|
100
|
+
# ^{} Missing frozen string literal comment.
|
101
|
+
# puts 1
|
102
|
+
# RUBY
|
92
103
|
module ExpectOffense
|
93
104
|
def format_offense(source, **replacements)
|
94
105
|
replacements.each do |keyword, value|
|
106
|
+
value = value.to_s
|
95
107
|
source = source.gsub("%{#{keyword}}", value)
|
96
108
|
.gsub("^{#{keyword}}", '^' * value.size)
|
97
109
|
.gsub("_{#{keyword}}", ' ' * value.size)
|
@@ -116,14 +128,19 @@ module RuboCop
|
|
116
128
|
@processed_source = parse_source(expected_annotations.plain_source,
|
117
129
|
file)
|
118
130
|
|
119
|
-
|
131
|
+
unless @processed_source.valid_syntax?
|
132
|
+
raise 'Error parsing example code: ' \
|
133
|
+
"#{@processed_source.diagnostics.map(&:render).join("\n")}"
|
134
|
+
end
|
120
135
|
|
121
136
|
offenses = _investigate(cop, @processed_source)
|
122
137
|
actual_annotations =
|
123
138
|
expected_annotations.with_offense_annotations(offenses)
|
124
139
|
|
125
|
-
expect(actual_annotations
|
140
|
+
expect(actual_annotations).to eq(expected_annotations), ''
|
126
141
|
expect(offenses.map(&:severity).uniq).to eq([severity]) if severity
|
142
|
+
|
143
|
+
offenses
|
127
144
|
end
|
128
145
|
|
129
146
|
def expect_correction(correction, loop: true)
|
@@ -177,7 +194,8 @@ module RuboCop
|
|
177
194
|
|
178
195
|
# Parsed representation of code annotated with the `^^^ Message` style
|
179
196
|
class AnnotatedSource
|
180
|
-
ANNOTATION_PATTERN = /\A\s
|
197
|
+
ANNOTATION_PATTERN = /\A\s*(\^+|\^{}) /.freeze
|
198
|
+
ABBREV = "[...]\n"
|
181
199
|
|
182
200
|
# @param annotated_source [String] string passed to the matchers
|
183
201
|
#
|
@@ -196,6 +214,7 @@ module RuboCop
|
|
196
214
|
source << source_line
|
197
215
|
end
|
198
216
|
end
|
217
|
+
annotations.each { |a| a[0] = 1 } if source.empty?
|
199
218
|
|
200
219
|
new(source, annotations)
|
201
220
|
end
|
@@ -211,6 +230,27 @@ module RuboCop
|
|
211
230
|
@annotations = annotations.sort.freeze
|
212
231
|
end
|
213
232
|
|
233
|
+
def ==(other)
|
234
|
+
other.is_a?(self.class) &&
|
235
|
+
other.lines == lines &&
|
236
|
+
match_annotations?(other)
|
237
|
+
end
|
238
|
+
|
239
|
+
# Dirty hack: expectations with [...] are rewritten when they match
|
240
|
+
# This way the diff is clean.
|
241
|
+
def match_annotations?(other)
|
242
|
+
annotations.zip(other.annotations) do |(_actual_line, actual_annotation),
|
243
|
+
(_expected_line, expected_annotation)|
|
244
|
+
if expected_annotation&.end_with?(ABBREV) &&
|
245
|
+
actual_annotation.start_with?(expected_annotation[0...-ABBREV.length])
|
246
|
+
|
247
|
+
expected_annotation.replace(actual_annotation)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
annotations == other.annotations
|
252
|
+
end
|
253
|
+
|
214
254
|
# Construct annotated source string (like what we parse)
|
215
255
|
#
|
216
256
|
# Reconstruct a deterministic annotated source string. This is
|
@@ -243,6 +283,7 @@ module RuboCop
|
|
243
283
|
|
244
284
|
reconstructed.join
|
245
285
|
end
|
286
|
+
alias inspect to_s
|
246
287
|
|
247
288
|
# Return the plain source code without annotations
|
248
289
|
#
|
@@ -261,6 +302,7 @@ module RuboCop
|
|
261
302
|
offenses.map do |offense|
|
262
303
|
indent = ' ' * offense.column
|
263
304
|
carets = '^' * offense.column_length
|
305
|
+
carets = '^{}' if offense.column_length.zero?
|
264
306
|
|
265
307
|
[offense.line, "#{indent}#{carets} #{offense.message}\n"]
|
266
308
|
end
|
@@ -268,7 +310,7 @@ module RuboCop
|
|
268
310
|
self.class.new(lines, offense_annotations)
|
269
311
|
end
|
270
312
|
|
271
|
-
|
313
|
+
protected
|
272
314
|
|
273
315
|
attr_reader :lines, :annotations
|
274
316
|
end
|
@@ -12,19 +12,22 @@ RSpec.shared_context 'isolated environment', :isolated_environment do
|
|
12
12
|
# get mismatched pathnames when loading config files later on.
|
13
13
|
tmpdir = File.realpath(tmpdir)
|
14
14
|
|
15
|
+
virtual_home = File.expand_path(File.join(tmpdir, 'home'))
|
16
|
+
Dir.mkdir(virtual_home)
|
17
|
+
ENV['HOME'] = virtual_home
|
18
|
+
ENV.delete('XDG_CONFIG_HOME')
|
19
|
+
|
20
|
+
base_dir = example.metadata[:project_inside_home] ? virtual_home : tmpdir
|
21
|
+
root = example.metadata[:root]
|
22
|
+
working_dir = root ? File.join(base_dir, 'work', root) : File.join(base_dir, 'work')
|
23
|
+
|
15
24
|
# Make upwards search for .rubocop.yml files stop at this directory.
|
16
|
-
RuboCop::FileFinder.root_level =
|
25
|
+
RuboCop::FileFinder.root_level = working_dir
|
17
26
|
|
18
27
|
begin
|
19
|
-
|
20
|
-
Dir.mkdir(virtual_home)
|
21
|
-
ENV['HOME'] = virtual_home
|
22
|
-
ENV.delete('XDG_CONFIG_HOME')
|
23
|
-
|
24
|
-
working_dir = File.join(tmpdir, 'work')
|
25
|
-
Dir.mkdir(working_dir)
|
28
|
+
FileUtils.mkdir_p(working_dir)
|
26
29
|
|
27
|
-
|
30
|
+
Dir.chdir(working_dir) do
|
28
31
|
example.run
|
29
32
|
end
|
30
33
|
ensure
|
@@ -37,12 +40,22 @@ RSpec.shared_context 'isolated environment', :isolated_environment do
|
|
37
40
|
end
|
38
41
|
end
|
39
42
|
|
43
|
+
RSpec.shared_context 'maintain registry', :restore_registry do
|
44
|
+
around(:each) do |example|
|
45
|
+
RuboCop::Cop::Registry.with_temporary_global { example.run }
|
46
|
+
end
|
47
|
+
|
48
|
+
def stub_cop_class(name, inherit: RuboCop::Cop::Base, &block)
|
49
|
+
klass = Class.new(inherit, &block)
|
50
|
+
stub_const(name, klass)
|
51
|
+
klass
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
40
55
|
# This context assumes nothing and defines `cop`, among others.
|
41
56
|
RSpec.shared_context 'config', :config do # rubocop:disable Metrics/BlockLength
|
42
57
|
### Meant to be overridden at will
|
43
58
|
|
44
|
-
let(:source) { 'code = {some: :ruby}' }
|
45
|
-
|
46
59
|
let(:cop_class) do
|
47
60
|
unless described_class.is_a?(Class) && described_class < RuboCop::Cop::Base
|
48
61
|
raise 'Specify which cop class to use (e.g `let(:cop_class) { RuboCop::Cop::Base }`, ' \
|
@@ -94,9 +107,7 @@ RSpec.shared_context 'config', :config do # rubocop:disable Metrics/BlockLength
|
|
94
107
|
end
|
95
108
|
|
96
109
|
let(:cop) do
|
97
|
-
cop_class.new(config, cop_options)
|
98
|
-
cop.send :begin_investigation, processed_source
|
99
|
-
end
|
110
|
+
cop_class.new(config, cop_options)
|
100
111
|
end
|
101
112
|
end
|
102
113
|
|
data/lib/rubocop/runner.rb
CHANGED
@@ -17,6 +17,7 @@ module RuboCop
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
# @api private
|
20
21
|
MAX_ITERATIONS = 200
|
21
22
|
|
22
23
|
attr_reader :errors, :warnings
|
@@ -118,8 +119,7 @@ module RuboCop
|
|
118
119
|
|
119
120
|
def file_offenses(file)
|
120
121
|
file_offense_cache(file) do
|
121
|
-
source =
|
122
|
-
source, offenses = do_inspection_loop(file, source)
|
122
|
+
source, offenses = do_inspection_loop(file)
|
123
123
|
offenses = add_redundant_disables(file, offenses.compact.sort, source)
|
124
124
|
offenses.sort.reject(&:disabled?).freeze
|
125
125
|
end
|
@@ -159,8 +159,7 @@ module RuboCop
|
|
159
159
|
# Do one extra inspection loop if any redundant disables were
|
160
160
|
# removed. This is done in order to find rubocop:enable directives that
|
161
161
|
# have now become useless.
|
162
|
-
_source, new_offenses = do_inspection_loop(file
|
163
|
-
get_processed_source(file))
|
162
|
+
_source, new_offenses = do_inspection_loop(file)
|
164
163
|
offenses |= new_offenses
|
165
164
|
end
|
166
165
|
end
|
@@ -213,7 +212,7 @@ module RuboCop
|
|
213
212
|
@cached_run ||=
|
214
213
|
(@options[:cache] == 'true' ||
|
215
214
|
@options[:cache] != 'false' &&
|
216
|
-
@config_store.
|
215
|
+
@config_store.for_pwd.for_all_cops['UseCache']) &&
|
217
216
|
# When running --auto-gen-config, there's some processing done in the
|
218
217
|
# cops related to calculating the Max parameters for Metrics cops. We
|
219
218
|
# need to do that processing and cannot use caching.
|
@@ -232,7 +231,8 @@ module RuboCop
|
|
232
231
|
cache.save(offenses)
|
233
232
|
end
|
234
233
|
|
235
|
-
def do_inspection_loop(file
|
234
|
+
def do_inspection_loop(file)
|
235
|
+
processed_source = get_processed_source(file)
|
236
236
|
offenses = []
|
237
237
|
|
238
238
|
# When running with --auto-correct, we need to inspect the file (which
|
@@ -307,7 +307,7 @@ module RuboCop
|
|
307
307
|
def mobilized_cop_classes(config)
|
308
308
|
@mobilized_cop_classes ||= {}
|
309
309
|
@mobilized_cop_classes[config.object_id] ||= begin
|
310
|
-
cop_classes = Cop::
|
310
|
+
cop_classes = Cop::Registry.all
|
311
311
|
|
312
312
|
OptionsValidator.new(@options).validate_cop_options
|
313
313
|
|
@@ -1,10 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'set'
|
4
|
-
|
5
3
|
module RuboCop
|
6
4
|
# This class finds target files to inspect by scanning the directory tree
|
7
5
|
# and picking ruby files.
|
6
|
+
# @api private
|
8
7
|
class TargetFinder
|
9
8
|
def initialize(config_store, options = {})
|
10
9
|
@config_store = config_store
|
@@ -114,10 +113,12 @@ module RuboCop
|
|
114
113
|
end
|
115
114
|
|
116
115
|
def ruby_extensions
|
117
|
-
|
118
|
-
pattern
|
116
|
+
@ruby_extensions ||= begin
|
117
|
+
ext_patterns = all_cops_include.select do |pattern|
|
118
|
+
pattern.start_with?('**/*.')
|
119
|
+
end
|
120
|
+
ext_patterns.map { |pattern| pattern.sub('**/*', '') }
|
119
121
|
end
|
120
|
-
ext_patterns.map { |pattern| pattern.sub('**/*', '') }
|
121
122
|
end
|
122
123
|
|
123
124
|
def ruby_filename?(file)
|
@@ -125,14 +126,17 @@ module RuboCop
|
|
125
126
|
end
|
126
127
|
|
127
128
|
def ruby_filenames
|
128
|
-
|
129
|
-
pattern
|
129
|
+
@ruby_filenames ||= begin
|
130
|
+
file_patterns = all_cops_include.reject do |pattern|
|
131
|
+
pattern.start_with?('**/*.')
|
132
|
+
end
|
133
|
+
file_patterns.map { |pattern| pattern.sub('**/', '') }
|
130
134
|
end
|
131
|
-
file_patterns.map { |pattern| pattern.sub('**/', '') }
|
132
135
|
end
|
133
136
|
|
134
137
|
def all_cops_include
|
135
|
-
@
|
138
|
+
@all_cops_include ||=
|
139
|
+
@config_store.for_pwd.for_all_cops['Include'].map(&:to_s)
|
136
140
|
end
|
137
141
|
|
138
142
|
def ruby_executable?(file)
|
@@ -160,7 +164,7 @@ module RuboCop
|
|
160
164
|
end
|
161
165
|
|
162
166
|
def configured_include?(file)
|
163
|
-
@config_store.
|
167
|
+
@config_store.for_pwd.file_to_include?(file)
|
164
168
|
end
|
165
169
|
|
166
170
|
def included_file?(file)
|
data/lib/rubocop/target_ruby.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
module RuboCop
|
4
4
|
# The kind of Ruby that code inspected by RuboCop is written in.
|
5
|
+
# @api private
|
5
6
|
class TargetRuby
|
6
7
|
KNOWN_RUBIES = [2.4, 2.5, 2.6, 2.7, 2.8].freeze
|
7
8
|
DEFAULT_VERSION = KNOWN_RUBIES.first
|
@@ -12,6 +13,7 @@ module RuboCop
|
|
12
13
|
private_constant :KNOWN_RUBIES, :OBSOLETE_RUBIES
|
13
14
|
|
14
15
|
# A place where information about a target ruby version is found.
|
16
|
+
# @api private
|
15
17
|
class Source
|
16
18
|
attr_reader :version, :name
|
17
19
|
|
@@ -26,6 +28,7 @@ module RuboCop
|
|
26
28
|
end
|
27
29
|
|
28
30
|
# The target ruby version may be configured in RuboCop's config.
|
31
|
+
# @api private
|
29
32
|
class RuboCopConfig < Source
|
30
33
|
def name
|
31
34
|
"`TargetRubyVersion` parameter (in #{@config.smart_loaded_path})"
|
@@ -39,6 +42,7 @@ module RuboCop
|
|
39
42
|
end
|
40
43
|
|
41
44
|
# The target ruby version may be found in a .ruby-version file.
|
45
|
+
# @api private
|
42
46
|
class RubyVersionFile < Source
|
43
47
|
FILENAME = '.ruby-version'
|
44
48
|
|
@@ -68,6 +72,7 @@ module RuboCop
|
|
68
72
|
end
|
69
73
|
|
70
74
|
# The lock file of Bundler may identify the target ruby version.
|
75
|
+
# @api private
|
71
76
|
class BundlerLockFile < Source
|
72
77
|
def name
|
73
78
|
"`#{bundler_lock_file_path}`"
|
@@ -108,6 +113,7 @@ module RuboCop
|
|
108
113
|
end
|
109
114
|
|
110
115
|
# If all else fails, a default version will be picked.
|
116
|
+
# @api private
|
111
117
|
class Default < Source
|
112
118
|
def name
|
113
119
|
'default'
|
data/lib/rubocop/version.rb
CHANGED
@@ -3,13 +3,14 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# This module holds the RuboCop version information.
|
5
5
|
module Version
|
6
|
-
STRING = '0.
|
6
|
+
STRING = '0.90.0'
|
7
7
|
|
8
8
|
MSG = '%<version>s (using Parser %<parser_version>s, '\
|
9
9
|
'rubocop-ast %<rubocop_ast_version>s, ' \
|
10
10
|
'running on %<ruby_engine>s %<ruby_version>s %<ruby_platform>s)'
|
11
11
|
|
12
|
-
|
12
|
+
# @api private
|
13
|
+
def self.version(debug: false)
|
13
14
|
if debug
|
14
15
|
format(MSG, version: STRING, parser_version: Parser::VERSION,
|
15
16
|
rubocop_ast_version: RuboCop::AST::Version::STRING,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.90.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-09-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parallel
|
@@ -94,7 +94,7 @@ dependencies:
|
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
97
|
+
version: 0.3.0
|
98
98
|
- - "<"
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '1.0'
|
@@ -104,7 +104,7 @@ dependencies:
|
|
104
104
|
requirements:
|
105
105
|
- - ">="
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version: 0.
|
107
|
+
version: 0.3.0
|
108
108
|
- - "<"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.0'
|
@@ -178,6 +178,7 @@ files:
|
|
178
178
|
- assets/logo.png
|
179
179
|
- assets/output.html.erb
|
180
180
|
- bin/console
|
181
|
+
- bin/rubocop-profile
|
181
182
|
- bin/setup
|
182
183
|
- config/default.yml
|
183
184
|
- exe/rubocop
|
@@ -225,6 +226,7 @@ files:
|
|
225
226
|
- lib/rubocop/cop/correctors/space_corrector.rb
|
226
227
|
- lib/rubocop/cop/correctors/string_literal_corrector.rb
|
227
228
|
- lib/rubocop/cop/correctors/unused_arg_corrector.rb
|
229
|
+
- lib/rubocop/cop/documentation.rb
|
228
230
|
- lib/rubocop/cop/force.rb
|
229
231
|
- lib/rubocop/cop/gemspec/duplicated_assignment.rb
|
230
232
|
- lib/rubocop/cop/gemspec/ordered_dependencies.rb
|
@@ -260,6 +262,7 @@ files:
|
|
260
262
|
- lib/rubocop/cop/layout/empty_comment.rb
|
261
263
|
- lib/rubocop/cop/layout/empty_line_after_guard_clause.rb
|
262
264
|
- lib/rubocop/cop/layout/empty_line_after_magic_comment.rb
|
265
|
+
- lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb
|
263
266
|
- lib/rubocop/cop/layout/empty_line_between_defs.rb
|
264
267
|
- lib/rubocop/cop/layout/empty_lines.rb
|
265
268
|
- lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb
|
@@ -339,6 +342,7 @@ files:
|
|
339
342
|
- lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
|
340
343
|
- lib/rubocop/cop/lint/assignment_in_condition.rb
|
341
344
|
- lib/rubocop/cop/lint/big_decimal_new.rb
|
345
|
+
- lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb
|
342
346
|
- lib/rubocop/cop/lint/boolean_symbol.rb
|
343
347
|
- lib/rubocop/cop/lint/circular_argument_reference.rb
|
344
348
|
- lib/rubocop/cop/lint/constant_resolution.rb
|
@@ -347,17 +351,23 @@ files:
|
|
347
351
|
- lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb
|
348
352
|
- lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb
|
349
353
|
- lib/rubocop/cop/lint/duplicate_case_condition.rb
|
354
|
+
- lib/rubocop/cop/lint/duplicate_elsif_condition.rb
|
350
355
|
- lib/rubocop/cop/lint/duplicate_hash_key.rb
|
351
356
|
- lib/rubocop/cop/lint/duplicate_methods.rb
|
357
|
+
- lib/rubocop/cop/lint/duplicate_require.rb
|
358
|
+
- lib/rubocop/cop/lint/duplicate_rescue_exception.rb
|
352
359
|
- lib/rubocop/cop/lint/each_with_object_argument.rb
|
353
360
|
- lib/rubocop/cop/lint/else_layout.rb
|
361
|
+
- lib/rubocop/cop/lint/empty_conditional_body.rb
|
354
362
|
- lib/rubocop/cop/lint/empty_ensure.rb
|
355
363
|
- lib/rubocop/cop/lint/empty_expression.rb
|
364
|
+
- lib/rubocop/cop/lint/empty_file.rb
|
356
365
|
- lib/rubocop/cop/lint/empty_interpolation.rb
|
357
366
|
- lib/rubocop/cop/lint/empty_when.rb
|
358
367
|
- lib/rubocop/cop/lint/ensure_return.rb
|
359
368
|
- lib/rubocop/cop/lint/erb_new_arguments.rb
|
360
369
|
- lib/rubocop/cop/lint/flip_flop.rb
|
370
|
+
- lib/rubocop/cop/lint/float_comparison.rb
|
361
371
|
- lib/rubocop/cop/lint/float_out_of_range.rb
|
362
372
|
- lib/rubocop/cop/lint/format_parameter_mismatch.rb
|
363
373
|
- lib/rubocop/cop/lint/heredoc_method_call_position.rb
|
@@ -369,6 +379,7 @@ files:
|
|
369
379
|
- lib/rubocop/cop/lint/literal_in_interpolation.rb
|
370
380
|
- lib/rubocop/cop/lint/loop.rb
|
371
381
|
- lib/rubocop/cop/lint/missing_cop_enable_directive.rb
|
382
|
+
- lib/rubocop/cop/lint/missing_super.rb
|
372
383
|
- lib/rubocop/cop/lint/mixed_regexp_capture_types.rb
|
373
384
|
- lib/rubocop/cop/lint/multiple_comparison.rb
|
374
385
|
- lib/rubocop/cop/lint/nested_method_definition.rb
|
@@ -378,6 +389,7 @@ files:
|
|
378
389
|
- lib/rubocop/cop/lint/non_local_exit_from_iterator.rb
|
379
390
|
- lib/rubocop/cop/lint/number_conversion.rb
|
380
391
|
- lib/rubocop/cop/lint/ordered_magic_comments.rb
|
392
|
+
- lib/rubocop/cop/lint/out_of_range_regexp_ref.rb
|
381
393
|
- lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb
|
382
394
|
- lib/rubocop/cop/lint/percent_string_array.rb
|
383
395
|
- lib/rubocop/cop/lint/percent_symbol_array.rb
|
@@ -399,6 +411,7 @@ files:
|
|
399
411
|
- lib/rubocop/cop/lint/safe_navigation_consistency.rb
|
400
412
|
- lib/rubocop/cop/lint/safe_navigation_with_empty.rb
|
401
413
|
- lib/rubocop/cop/lint/script_permission.rb
|
414
|
+
- lib/rubocop/cop/lint/self_assignment.rb
|
402
415
|
- lib/rubocop/cop/lint/send_with_mixin_argument.rb
|
403
416
|
- lib/rubocop/cop/lint/shadowed_argument.rb
|
404
417
|
- lib/rubocop/cop/lint/shadowed_exception.rb
|
@@ -407,17 +420,20 @@ files:
|
|
407
420
|
- lib/rubocop/cop/lint/suppressed_exception.rb
|
408
421
|
- lib/rubocop/cop/lint/syntax.rb
|
409
422
|
- lib/rubocop/cop/lint/to_json.rb
|
423
|
+
- lib/rubocop/cop/lint/top_level_return_with_argument.rb
|
424
|
+
- lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb
|
410
425
|
- lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
|
411
426
|
- lib/rubocop/cop/lint/unified_integer.rb
|
412
427
|
- lib/rubocop/cop/lint/unreachable_code.rb
|
428
|
+
- lib/rubocop/cop/lint/unreachable_loop.rb
|
413
429
|
- lib/rubocop/cop/lint/unused_block_argument.rb
|
414
430
|
- lib/rubocop/cop/lint/unused_method_argument.rb
|
415
431
|
- lib/rubocop/cop/lint/uri_escape_unescape.rb
|
416
432
|
- lib/rubocop/cop/lint/uri_regexp.rb
|
417
433
|
- lib/rubocop/cop/lint/useless_access_modifier.rb
|
418
434
|
- lib/rubocop/cop/lint/useless_assignment.rb
|
419
|
-
- lib/rubocop/cop/lint/useless_comparison.rb
|
420
435
|
- lib/rubocop/cop/lint/useless_else_without_rescue.rb
|
436
|
+
- lib/rubocop/cop/lint/useless_method_definition.rb
|
421
437
|
- lib/rubocop/cop/lint/useless_setter_call.rb
|
422
438
|
- lib/rubocop/cop/lint/void.rb
|
423
439
|
- lib/rubocop/cop/message_annotator.rb
|
@@ -433,6 +449,7 @@ files:
|
|
433
449
|
- lib/rubocop/cop/metrics/utils/abc_size_calculator.rb
|
434
450
|
- lib/rubocop/cop/metrics/utils/code_length_calculator.rb
|
435
451
|
- lib/rubocop/cop/metrics/utils/iterating_block.rb
|
452
|
+
- lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb
|
436
453
|
- lib/rubocop/cop/migration/department_name.rb
|
437
454
|
- lib/rubocop/cop/mixin/alignment.rb
|
438
455
|
- lib/rubocop/cop/mixin/allowed_methods.rb
|
@@ -443,6 +460,7 @@ files:
|
|
443
460
|
- lib/rubocop/cop/mixin/check_assignment.rb
|
444
461
|
- lib/rubocop/cop/mixin/check_line_breakable.rb
|
445
462
|
- lib/rubocop/cop/mixin/code_length.rb
|
463
|
+
- lib/rubocop/cop/mixin/comments_help.rb
|
446
464
|
- lib/rubocop/cop/mixin/configurable_enforced_style.rb
|
447
465
|
- lib/rubocop/cop/mixin/configurable_formatting.rb
|
448
466
|
- lib/rubocop/cop/mixin/configurable_max.rb
|
@@ -478,7 +496,6 @@ files:
|
|
478
496
|
- lib/rubocop/cop/mixin/on_normal_if_unless.rb
|
479
497
|
- lib/rubocop/cop/mixin/ordered_gem_node.rb
|
480
498
|
- lib/rubocop/cop/mixin/parentheses.rb
|
481
|
-
- lib/rubocop/cop/mixin/parser_diagnostic.rb
|
482
499
|
- lib/rubocop/cop/mixin/percent_array.rb
|
483
500
|
- lib/rubocop/cop/mixin/percent_literal.rb
|
484
501
|
- lib/rubocop/cop/mixin/preceding_following_alignment.rb
|
@@ -495,11 +512,11 @@ files:
|
|
495
512
|
- lib/rubocop/cop/mixin/string_literals_help.rb
|
496
513
|
- lib/rubocop/cop/mixin/surrounding_space.rb
|
497
514
|
- lib/rubocop/cop/mixin/target_ruby_version.rb
|
498
|
-
- lib/rubocop/cop/mixin/too_many_lines.rb
|
499
515
|
- lib/rubocop/cop/mixin/trailing_body.rb
|
500
516
|
- lib/rubocop/cop/mixin/trailing_comma.rb
|
501
517
|
- lib/rubocop/cop/mixin/uncommunicative_name.rb
|
502
518
|
- lib/rubocop/cop/mixin/unused_argument.rb
|
519
|
+
- lib/rubocop/cop/mixin/visibility_help.rb
|
503
520
|
- lib/rubocop/cop/naming/accessor_method_name.rb
|
504
521
|
- lib/rubocop/cop/naming/ascii_identifiers.rb
|
505
522
|
- lib/rubocop/cop/naming/binary_operator_parameter_name.rb
|
@@ -528,6 +545,7 @@ files:
|
|
528
545
|
- lib/rubocop/cop/style/accessor_grouping.rb
|
529
546
|
- lib/rubocop/cop/style/alias.rb
|
530
547
|
- lib/rubocop/cop/style/and_or.rb
|
548
|
+
- lib/rubocop/cop/style/array_coercion.rb
|
531
549
|
- lib/rubocop/cop/style/array_join.rb
|
532
550
|
- lib/rubocop/cop/style/ascii_comments.rb
|
533
551
|
- lib/rubocop/cop/style/attr.rb
|
@@ -538,14 +556,17 @@ files:
|
|
538
556
|
- lib/rubocop/cop/style/block_comments.rb
|
539
557
|
- lib/rubocop/cop/style/block_delimiters.rb
|
540
558
|
- lib/rubocop/cop/style/case_equality.rb
|
559
|
+
- lib/rubocop/cop/style/case_like_if.rb
|
541
560
|
- lib/rubocop/cop/style/character_literal.rb
|
542
561
|
- lib/rubocop/cop/style/class_and_module_children.rb
|
543
562
|
- lib/rubocop/cop/style/class_check.rb
|
544
563
|
- lib/rubocop/cop/style/class_methods.rb
|
564
|
+
- lib/rubocop/cop/style/class_methods_definitions.rb
|
545
565
|
- lib/rubocop/cop/style/class_vars.rb
|
546
566
|
- lib/rubocop/cop/style/collection_methods.rb
|
547
567
|
- lib/rubocop/cop/style/colon_method_call.rb
|
548
568
|
- lib/rubocop/cop/style/colon_method_definition.rb
|
569
|
+
- lib/rubocop/cop/style/combinable_loops.rb
|
549
570
|
- lib/rubocop/cop/style/command_literal.rb
|
550
571
|
- lib/rubocop/cop/style/comment_annotation.rb
|
551
572
|
- lib/rubocop/cop/style/commented_keyword.rb
|
@@ -573,15 +594,19 @@ files:
|
|
573
594
|
- lib/rubocop/cop/style/eval_with_location.rb
|
574
595
|
- lib/rubocop/cop/style/even_odd.rb
|
575
596
|
- lib/rubocop/cop/style/expand_path_arguments.rb
|
597
|
+
- lib/rubocop/cop/style/explicit_block_argument.rb
|
576
598
|
- lib/rubocop/cop/style/exponential_notation.rb
|
577
599
|
- lib/rubocop/cop/style/float_division.rb
|
578
600
|
- lib/rubocop/cop/style/for.rb
|
579
601
|
- lib/rubocop/cop/style/format_string.rb
|
580
602
|
- lib/rubocop/cop/style/format_string_token.rb
|
581
603
|
- lib/rubocop/cop/style/frozen_string_literal_comment.rb
|
604
|
+
- lib/rubocop/cop/style/global_std_stream.rb
|
582
605
|
- lib/rubocop/cop/style/global_vars.rb
|
583
606
|
- lib/rubocop/cop/style/guard_clause.rb
|
607
|
+
- lib/rubocop/cop/style/hash_as_last_array_item.rb
|
584
608
|
- lib/rubocop/cop/style/hash_each_methods.rb
|
609
|
+
- lib/rubocop/cop/style/hash_like_case.rb
|
585
610
|
- lib/rubocop/cop/style/hash_syntax.rb
|
586
611
|
- lib/rubocop/cop/style/hash_transform_keys.rb
|
587
612
|
- lib/rubocop/cop/style/hash_transform_values.rb
|
@@ -595,6 +620,7 @@ files:
|
|
595
620
|
- lib/rubocop/cop/style/inline_comment.rb
|
596
621
|
- lib/rubocop/cop/style/inverse_methods.rb
|
597
622
|
- lib/rubocop/cop/style/ip_addresses.rb
|
623
|
+
- lib/rubocop/cop/style/keyword_parameters_order.rb
|
598
624
|
- lib/rubocop/cop/style/lambda.rb
|
599
625
|
- lib/rubocop/cop/style/lambda_call.rb
|
600
626
|
- lib/rubocop/cop/style/line_end_concatenation.rb
|
@@ -604,7 +630,6 @@ files:
|
|
604
630
|
- lib/rubocop/cop/style/method_call_without_args_parentheses.rb
|
605
631
|
- lib/rubocop/cop/style/method_called_on_do_end_block.rb
|
606
632
|
- lib/rubocop/cop/style/method_def_parentheses.rb
|
607
|
-
- lib/rubocop/cop/style/method_missing_super.rb
|
608
633
|
- lib/rubocop/cop/style/min_max.rb
|
609
634
|
- lib/rubocop/cop/style/missing_else.rb
|
610
635
|
- lib/rubocop/cop/style/missing_respond_to_missing.rb
|
@@ -636,6 +661,7 @@ files:
|
|
636
661
|
- lib/rubocop/cop/style/one_line_conditional.rb
|
637
662
|
- lib/rubocop/cop/style/option_hash.rb
|
638
663
|
- lib/rubocop/cop/style/optional_arguments.rb
|
664
|
+
- lib/rubocop/cop/style/optional_boolean_parameter.rb
|
639
665
|
- lib/rubocop/cop/style/or_assignment.rb
|
640
666
|
- lib/rubocop/cop/style/parallel_assignment.rb
|
641
667
|
- lib/rubocop/cop/style/parentheses_around_condition.rb
|
@@ -653,6 +679,7 @@ files:
|
|
653
679
|
- lib/rubocop/cop/style/redundant_conditional.rb
|
654
680
|
- lib/rubocop/cop/style/redundant_exception.rb
|
655
681
|
- lib/rubocop/cop/style/redundant_fetch_block.rb
|
682
|
+
- lib/rubocop/cop/style/redundant_file_extension_in_require.rb
|
656
683
|
- lib/rubocop/cop/style/redundant_freeze.rb
|
657
684
|
- lib/rubocop/cop/style/redundant_interpolation.rb
|
658
685
|
- lib/rubocop/cop/style/redundant_parentheses.rb
|
@@ -661,6 +688,7 @@ files:
|
|
661
688
|
- lib/rubocop/cop/style/redundant_regexp_escape.rb
|
662
689
|
- lib/rubocop/cop/style/redundant_return.rb
|
663
690
|
- lib/rubocop/cop/style/redundant_self.rb
|
691
|
+
- lib/rubocop/cop/style/redundant_self_assignment.rb
|
664
692
|
- lib/rubocop/cop/style/redundant_sort.rb
|
665
693
|
- lib/rubocop/cop/style/redundant_sort_by.rb
|
666
694
|
- lib/rubocop/cop/style/regexp_literal.rb
|
@@ -673,12 +701,15 @@ files:
|
|
673
701
|
- lib/rubocop/cop/style/semicolon.rb
|
674
702
|
- lib/rubocop/cop/style/send.rb
|
675
703
|
- lib/rubocop/cop/style/signal_exception.rb
|
704
|
+
- lib/rubocop/cop/style/single_argument_dig.rb
|
676
705
|
- lib/rubocop/cop/style/single_line_block_params.rb
|
677
706
|
- lib/rubocop/cop/style/single_line_methods.rb
|
678
707
|
- lib/rubocop/cop/style/slicing_with_range.rb
|
708
|
+
- lib/rubocop/cop/style/sole_nested_conditional.rb
|
679
709
|
- lib/rubocop/cop/style/special_global_vars.rb
|
680
710
|
- lib/rubocop/cop/style/stabby_lambda_parentheses.rb
|
681
711
|
- lib/rubocop/cop/style/stderr_puts.rb
|
712
|
+
- lib/rubocop/cop/style/string_concatenation.rb
|
682
713
|
- lib/rubocop/cop/style/string_hash_keys.rb
|
683
714
|
- lib/rubocop/cop/style/string_literals.rb
|
684
715
|
- lib/rubocop/cop/style/string_literals_in_interpolation.rb
|
@@ -709,6 +740,7 @@ files:
|
|
709
740
|
- lib/rubocop/cop/style/yoda_condition.rb
|
710
741
|
- lib/rubocop/cop/style/zero_length_predicate.rb
|
711
742
|
- lib/rubocop/cop/team.rb
|
743
|
+
- lib/rubocop/cop/tokens_util.rb
|
712
744
|
- lib/rubocop/cop/util.rb
|
713
745
|
- lib/rubocop/cop/utils/format_string.rb
|
714
746
|
- lib/rubocop/cop/variable_force.rb
|
@@ -719,9 +751,11 @@ files:
|
|
719
751
|
- lib/rubocop/cop/variable_force/scope.rb
|
720
752
|
- lib/rubocop/cop/variable_force/variable.rb
|
721
753
|
- lib/rubocop/cop/variable_force/variable_table.rb
|
754
|
+
- lib/rubocop/cops_documentation_generator.rb
|
722
755
|
- lib/rubocop/core_ext/string.rb
|
723
756
|
- lib/rubocop/error.rb
|
724
757
|
- lib/rubocop/ext/processed_source.rb
|
758
|
+
- lib/rubocop/ext/regexp_node.rb
|
725
759
|
- lib/rubocop/file_finder.rb
|
726
760
|
- lib/rubocop/formatter/auto_gen_config_formatter.rb
|
727
761
|
- lib/rubocop/formatter/base_formatter.rb
|