rubocop 1.9.1 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -14
- data/assets/output.html.erb +1 -1
- data/config/default.yml +77 -17
- data/config/obsoletion.yml +4 -0
- data/exe/rubocop +1 -3
- data/lib/rubocop.rb +5 -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/execute_runner.rb +1 -1
- data/lib/rubocop/cli/command/init_dotfile.rb +1 -3
- data/lib/rubocop/cli/command/show_cops.rb +1 -4
- data/lib/rubocop/cli/command/suggest_extensions.rb +3 -2
- data/lib/rubocop/comment_config.rb +45 -101
- 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 +3 -3
- data/lib/rubocop/cop/bundler/gem_comment.rb +43 -8
- data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +1 -0
- data/lib/rubocop/cop/bundler/ordered_gems.rb +2 -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 +6 -12
- 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/date_assignment.rb +57 -0
- data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +3 -2
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +2 -4
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +2 -0
- data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +2 -0
- data/lib/rubocop/cop/generator.rb +3 -6
- 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.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/example_description.rb +7 -4
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +3 -5
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +3 -3
- data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +151 -0
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +2 -3
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +3 -2
- data/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +3 -0
- data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +5 -2
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +3 -3
- data/lib/rubocop/cop/layout/access_modifier_indentation.rb +12 -10
- data/lib/rubocop/cop/layout/argument_alignment.rb +8 -9
- data/lib/rubocop/cop/layout/array_alignment.rb +7 -6
- data/lib/rubocop/cop/layout/assignment_indentation.rb +8 -7
- data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -4
- data/lib/rubocop/cop/layout/block_alignment.rb +8 -19
- data/lib/rubocop/cop/layout/block_end_newline.rb +4 -8
- data/lib/rubocop/cop/layout/case_indentation.rb +1 -3
- data/lib/rubocop/cop/layout/class_structure.rb +5 -10
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +18 -30
- data/lib/rubocop/cop/layout/comment_indentation.rb +17 -21
- 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 +10 -9
- data/lib/rubocop/cop/layout/empty_comment.rb +5 -12
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -8
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -6
- data/lib/rubocop/cop/layout/empty_lines.rb +1 -3
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +8 -18
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -8
- data/lib/rubocop/cop/layout/end_alignment.rb +1 -2
- data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
- data/lib/rubocop/cop/layout/extra_spacing.rb +5 -9
- data/lib/rubocop/cop/layout/first_argument_indentation.rb +12 -6
- data/lib/rubocop/cop/layout/first_array_element_indentation.rb +10 -8
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -2
- data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +24 -20
- 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/first_parameter_indentation.rb +6 -5
- data/lib/rubocop/cop/layout/hash_alignment.rb +3 -6
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -9
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -6
- data/lib/rubocop/cop/layout/indentation_consistency.rb +9 -6
- data/lib/rubocop/cop/layout/indentation_style.rb +25 -30
- data/lib/rubocop/cop/layout/indentation_width.rb +21 -11
- 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_assignment_layout.rb +26 -0
- 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 +22 -15
- data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +10 -5
- data/lib/rubocop/cop/layout/parameter_alignment.rb +6 -5
- data/lib/rubocop/cop/layout/redundant_line_break.rb +125 -0
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
- data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
- data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
- data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -6
- data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +2 -3
- data/lib/rubocop/cop/layout/space_before_brackets.rb +2 -4
- 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 +6 -11
- 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/big_decimal_new.rb +1 -0
- data/lib/rubocop/cop/lint/boolean_symbol.rb +2 -2
- data/lib/rubocop/cop/lint/constant_definition_in_block.rb +2 -0
- data/lib/rubocop/cop/lint/constant_resolution.rb +2 -2
- data/lib/rubocop/cop/lint/debugger.rb +60 -14
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +2 -4
- data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +16 -9
- data/lib/rubocop/cop/lint/duplicate_branch.rb +2 -3
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
- data/lib/rubocop/cop/lint/duplicate_methods.rb +6 -7
- data/lib/rubocop/cop/lint/duplicate_require.rb +3 -2
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -0
- data/lib/rubocop/cop/lint/else_layout.rb +2 -4
- data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
- data/lib/rubocop/cop/lint/empty_file.rb +1 -3
- data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
- data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +4 -7
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +4 -6
- data/lib/rubocop/cop/lint/hash_compare_by_identity.rb +1 -0
- 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 +4 -7
- data/lib/rubocop/cop/lint/inherit_exception.rb +2 -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/multiple_comparison.rb +5 -4
- data/lib/rubocop/cop/lint/nested_method_definition.rb +4 -2
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -0
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +8 -3
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +3 -0
- data/lib/rubocop/cop/lint/number_conversion.rb +12 -4
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
- data/lib/rubocop/cop/lint/raise_exception.rb +3 -2
- data/lib/rubocop/cop/lint/rand_one.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +9 -22
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +1 -0
- data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +2 -3
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +10 -10
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -4
- data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -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 +2 -2
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +2 -2
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +3 -7
- data/lib/rubocop/cop/lint/shadowed_argument.rb +5 -11
- data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +1 -0
- data/lib/rubocop/cop/lint/struct_new_override.rb +2 -2
- data/lib/rubocop/cop/lint/suppressed_exception.rb +44 -1
- data/lib/rubocop/cop/lint/symbol_conversion.rb +91 -6
- data/lib/rubocop/cop/lint/syntax.rb +1 -3
- data/lib/rubocop/cop/lint/to_enum_arguments.rb +3 -0
- 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/unified_integer.rb +1 -0
- data/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +5 -0
- data/lib/rubocop/cop/lint/unreachable_code.rb +3 -5
- data/lib/rubocop/cop/lint/unreachable_loop.rb +3 -5
- data/lib/rubocop/cop/lint/unused_block_argument.rb +4 -8
- data/lib/rubocop/cop/lint/unused_method_argument.rb +2 -2
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -0
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +6 -4
- data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
- data/lib/rubocop/cop/lint/useless_setter_call.rb +2 -3
- data/lib/rubocop/cop/lint/useless_times.rb +3 -0
- data/lib/rubocop/cop/lint/void.rb +4 -11
- data/lib/rubocop/cop/message_annotator.rb +1 -3
- data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
- data/lib/rubocop/cop/metrics/class_length.rb +1 -3
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
- data/lib/rubocop/cop/metrics/module_length.rb +3 -6
- data/lib/rubocop/cop/metrics/parameter_lists.rb +3 -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/code_length_calculator.rb +6 -4
- data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +4 -7
- data/lib/rubocop/cop/migration/department_name.rb +3 -7
- data/lib/rubocop/cop/mixin/alignment.rb +12 -7
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
- data/lib/rubocop/cop/mixin/code_length.rb +1 -3
- data/lib/rubocop/cop/mixin/comments_help.rb +5 -1
- 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 +3 -5
- data/lib/rubocop/cop/mixin/documentation_comment.rb +3 -6
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +6 -7
- data/lib/rubocop/cop/mixin/empty_parameter.rb +2 -3
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
- data/lib/rubocop/cop/mixin/enforce_superclass.rb +4 -6
- data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -9
- data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +3 -6
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +8 -22
- data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
- data/lib/rubocop/cop/mixin/line_length_help.rb +13 -10
- data/lib/rubocop/cop/mixin/match_range.rb +2 -5
- data/lib/rubocop/cop/mixin/method_complexity.rb +2 -3
- data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
- data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +4 -3
- data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +11 -40
- data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
- data/lib/rubocop/cop/mixin/negative_conditional.rb +4 -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 +6 -9
- data/lib/rubocop/cop/mixin/range_help.rb +10 -13
- data/lib/rubocop/cop/mixin/rational_literal.rb +1 -0
- data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
- data/lib/rubocop/cop/mixin/safe_assignment.rb +6 -2
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
- data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
- data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +7 -13
- data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
- data/lib/rubocop/cop/mixin/visibility_help.rb +1 -0
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +2 -2
- data/lib/rubocop/cop/naming/constant_name.rb +2 -0
- data/lib/rubocop/cop/naming/file_name.rb +7 -16
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +8 -3
- data/lib/rubocop/cop/naming/method_name.rb +4 -2
- data/lib/rubocop/cop/naming/predicate_name.rb +2 -2
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +10 -0
- data/lib/rubocop/cop/offense.rb +3 -8
- data/lib/rubocop/cop/registry.rb +13 -12
- data/lib/rubocop/cop/security/eval.rb +1 -0
- data/lib/rubocop/cop/security/json_load.rb +1 -0
- data/lib/rubocop/cop/security/marshal_load.rb +1 -0
- data/lib/rubocop/cop/security/open.rb +1 -0
- data/lib/rubocop/cop/security/yaml_load.rb +1 -0
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +4 -5
- data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
- data/lib/rubocop/cop/style/alias.rb +6 -12
- data/lib/rubocop/cop/style/and_or.rb +3 -1
- data/lib/rubocop/cop/style/arguments_forwarding.rb +4 -3
- data/lib/rubocop/cop/style/array_coercion.rb +2 -0
- data/lib/rubocop/cop/style/array_join.rb +1 -0
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
- data/lib/rubocop/cop/style/attr.rb +2 -3
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +59 -71
- data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +60 -0
- data/lib/rubocop/cop/style/case_equality.rb +2 -1
- data/lib/rubocop/cop/style/case_like_if.rb +16 -6
- data/lib/rubocop/cop/style/character_literal.rb +2 -4
- data/lib/rubocop/cop/style/class_and_module_children.rb +3 -6
- data/lib/rubocop/cop/style/class_equality_comparison.rb +3 -0
- data/lib/rubocop/cop/style/class_methods.rb +1 -3
- data/lib/rubocop/cop/style/collection_compact.rb +3 -3
- data/lib/rubocop/cop/style/colon_method_call.rb +2 -3
- data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
- data/lib/rubocop/cop/style/command_literal.rb +4 -9
- data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
- data/lib/rubocop/cop/style/commented_keyword.rb +7 -13
- data/lib/rubocop/cop/style/conditional_assignment.rb +12 -24
- data/lib/rubocop/cop/style/constant_visibility.rb +28 -0
- data/lib/rubocop/cop/style/copyright.rb +3 -6
- data/lib/rubocop/cop/style/date_time.rb +5 -5
- data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
- data/lib/rubocop/cop/style/dir.rb +1 -0
- data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +2 -2
- data/lib/rubocop/cop/style/documentation.rb +30 -3
- data/lib/rubocop/cop/style/documentation_method.rb +1 -0
- data/lib/rubocop/cop/style/double_negation.rb +3 -2
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +2 -2
- data/lib/rubocop/cop/style/each_with_object.rb +1 -0
- 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 +13 -8
- data/lib/rubocop/cop/style/empty_method.rb +3 -7
- data/lib/rubocop/cop/style/end_block.rb +1 -2
- data/lib/rubocop/cop/style/endless_method.rb +2 -3
- data/lib/rubocop/cop/style/eval_with_location.rb +91 -31
- data/lib/rubocop/cop/style/even_odd.rb +1 -0
- data/lib/rubocop/cop/style/expand_path_arguments.rb +4 -3
- data/lib/rubocop/cop/style/explicit_block_argument.rb +3 -5
- data/lib/rubocop/cop/style/exponential_notation.rb +6 -7
- data/lib/rubocop/cop/style/float_division.rb +4 -0
- data/lib/rubocop/cop/style/format_string.rb +2 -0
- data/lib/rubocop/cop/style/format_string_token.rb +2 -4
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -11
- data/lib/rubocop/cop/style/global_std_stream.rb +1 -0
- data/lib/rubocop/cop/style/guard_clause.rb +3 -7
- data/lib/rubocop/cop/style/hash_conversion.rb +133 -0
- data/lib/rubocop/cop/style/hash_each_methods.rb +2 -2
- data/lib/rubocop/cop/style/hash_except.rb +1 -0
- data/lib/rubocop/cop/style/hash_like_case.rb +2 -2
- data/lib/rubocop/cop/style/hash_syntax.rb +20 -24
- data/lib/rubocop/cop/style/hash_transform_keys.rb +4 -0
- data/lib/rubocop/cop/style/hash_transform_values.rb +4 -0
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +41 -13
- data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +2 -0
- data/lib/rubocop/cop/style/implicit_runtime_error.rb +1 -0
- data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
- data/lib/rubocop/cop/style/inverse_methods.rb +5 -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 +47 -3
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +26 -16
- 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 +2 -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 +3 -2
- data/lib/rubocop/cop/style/module_function.rb +8 -6
- data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
- data/lib/rubocop/cop/style/multiline_method_signature.rb +11 -6
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
- data/lib/rubocop/cop/style/multiple_comparison.rb +22 -5
- data/lib/rubocop/cop/style/mutable_constant.rb +7 -10
- data/lib/rubocop/cop/style/negated_if.rb +1 -2
- data/lib/rubocop/cop/style/negated_if_else_condition.rb +16 -2
- data/lib/rubocop/cop/style/negated_unless.rb +1 -2
- data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
- data/lib/rubocop/cop/style/next.rb +4 -9
- data/lib/rubocop/cop/style/nil_comparison.rb +3 -0
- data/lib/rubocop/cop/style/nil_lambda.rb +1 -0
- data/lib/rubocop/cop/style/non_nil_check.rb +9 -5
- data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
- data/lib/rubocop/cop/style/numeric_predicate.rb +5 -7
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
- data/lib/rubocop/cop/style/option_hash.rb +2 -3
- data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
- data/lib/rubocop/cop/style/or_assignment.rb +4 -6
- data/lib/rubocop/cop/style/parallel_assignment.rb +12 -9
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +1 -0
- 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 +2 -2
- data/lib/rubocop/cop/style/raise_args.rb +4 -8
- data/lib/rubocop/cop/style/random_with_offset.rb +8 -8
- data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
- data/lib/rubocop/cop/style/redundant_assignment.rb +2 -3
- data/lib/rubocop/cop/style/redundant_begin.rb +47 -7
- 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 +5 -6
- data/lib/rubocop/cop/style/redundant_exception.rb +5 -6
- data/lib/rubocop/cop/style/redundant_fetch_block.rb +2 -0
- data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +2 -1
- data/lib/rubocop/cop/style/redundant_freeze.rb +2 -2
- data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
- data/lib/rubocop/cop/style/redundant_parentheses.rb +21 -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 +6 -4
- data/lib/rubocop/cop/style/redundant_self.rb +9 -9
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +4 -2
- data/lib/rubocop/cop/style/redundant_sort.rb +3 -5
- data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -0
- data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
- data/lib/rubocop/cop/style/rescue_modifier.rb +21 -14
- data/lib/rubocop/cop/style/rescue_standard_error.rb +5 -7
- data/lib/rubocop/cop/style/return_nil.rb +7 -2
- data/lib/rubocop/cop/style/safe_navigation.rb +12 -21
- data/lib/rubocop/cop/style/sample.rb +1 -0
- data/lib/rubocop/cop/style/send.rb +1 -2
- data/lib/rubocop/cop/style/signal_exception.rb +6 -7
- data/lib/rubocop/cop/style/single_argument_dig.rb +2 -2
- data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
- data/lib/rubocop/cop/style/single_line_methods.rb +16 -4
- data/lib/rubocop/cop/style/slicing_with_range.rb +1 -0
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +17 -2
- data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
- data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
- data/lib/rubocop/cop/style/stderr_puts.rb +3 -6
- data/lib/rubocop/cop/style/string_chars.rb +39 -0
- data/lib/rubocop/cop/style/string_concatenation.rb +9 -10
- data/lib/rubocop/cop/style/string_hash_keys.rb +2 -0
- data/lib/rubocop/cop/style/string_literals.rb +2 -5
- data/lib/rubocop/cop/style/strip.rb +1 -0
- data/lib/rubocop/cop/style/struct_inheritance.rb +11 -0
- data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
- data/lib/rubocop/cop/style/symbol_proc.rb +29 -10
- data/lib/rubocop/cop/style/ternary_parentheses.rb +4 -6
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +6 -2
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +3 -6
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
- data/lib/rubocop/cop/style/trivial_accessors.rb +3 -4
- data/lib/rubocop/cop/style/unless_else.rb +1 -2
- data/lib/rubocop/cop/style/unless_logical_operators.rb +105 -0
- data/lib/rubocop/cop/style/unpack_first.rb +1 -0
- data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/when_then.rb +1 -3
- data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
- data/lib/rubocop/cop/style/word_array.rb +1 -2
- data/lib/rubocop/cop/style/yoda_condition.rb +4 -11
- data/lib/rubocop/cop/style/zero_length_predicate.rb +6 -2
- data/lib/rubocop/cop/team.rb +2 -5
- data/lib/rubocop/cop/util.rb +8 -11
- data/lib/rubocop/cop/utils/format_string.rb +1 -3
- data/lib/rubocop/cop/variable_force.rb +6 -15
- data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -2
- data/lib/rubocop/cop/variable_force/reference.rb +1 -3
- data/lib/rubocop/cop/variable_force/scope.rb +4 -8
- data/lib/rubocop/cop/variable_force/variable.rb +2 -4
- data/lib/rubocop/cops_documentation_generator.rb +7 -21
- data/lib/rubocop/directive_comment.rb +69 -9
- data/lib/rubocop/ext/regexp_parser.rb +3 -6
- data/lib/rubocop/file_finder.rb +1 -3
- data/lib/rubocop/formatter/clang_style_formatter.rb +4 -2
- data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
- data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
- data/lib/rubocop/formatter/html_formatter.rb +4 -10
- data/lib/rubocop/formatter/json_formatter.rb +1 -5
- data/lib/rubocop/formatter/junit_formatter.rb +3 -9
- data/lib/rubocop/formatter/offense_count_formatter.rb +1 -1
- data/lib/rubocop/formatter/progress_formatter.rb +1 -3
- data/lib/rubocop/formatter/tap_formatter.rb +4 -2
- data/lib/rubocop/formatter/worst_offenders_formatter.rb +1 -1
- data/lib/rubocop/magic_comment.rb +1 -1
- data/lib/rubocop/name_similarity.rb +1 -1
- data/lib/rubocop/options.rb +27 -41
- data/lib/rubocop/path_util.rb +1 -3
- data/lib/rubocop/rake_task.rb +3 -0
- data/lib/rubocop/remote_config.rb +4 -7
- data/lib/rubocop/result_cache.rb +5 -12
- data/lib/rubocop/rspec/cop_helper.rb +1 -1
- data/lib/rubocop/rspec/expect_offense.rb +4 -9
- data/lib/rubocop/rspec/shared_contexts.rb +4 -15
- data/lib/rubocop/runner.rb +7 -14
- data/lib/rubocop/target_finder.rb +12 -16
- data/lib/rubocop/target_ruby.rb +25 -21
- data/lib/rubocop/version.rb +1 -1
- metadata +15 -9
- 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: 580e325f7dc471739e2f4857d82e279776098ae14fff7367eaa803f688c9e58d
|
4
|
+
data.tar.gz: c8331c8b2ebbecb239d4a63dee21375172d1d2939572516bba910109ef5375a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f9ecd1e28e7fa7946b22aaecc0d5571337d85ca6b9a198e9542a9d26d05c9d0806597ccd66d0090c4318d349c7023fe201103fa197eaa88d5e98534d25ff755
|
7
|
+
data.tar.gz: 4bc7ec5d20c127826a1761b9495669242d53b740509ca13060c1202d0114062fb73a52738b9fb717f5348fdad7cb2a2fb5ee0ea4cc8a9b5823298908a0ce6a5b
|
data/README.md
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
<p align="center">
|
2
|
-
<img src="https://raw.githubusercontent.com/rubocop
|
2
|
+
<img src="https://raw.githubusercontent.com/rubocop/rubocop/master/logo/rubo-logo-horizontal.png" alt="RuboCop Logo"/>
|
3
3
|
</p>
|
4
4
|
|
5
5
|
----------
|
6
|
-
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop
|
6
|
+
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
|
7
7
|
[![Gem Version](https://badge.fury.io/rb/rubocop.svg)](https://badge.fury.io/rb/rubocop)
|
8
|
-
[![CircleCI Status](https://circleci.com/gh/rubocop
|
9
|
-
[![Actions Status](https://github.com/rubocop
|
10
|
-
[![Test Coverage](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/test_coverage)](https://codeclimate.com/github/rubocop
|
11
|
-
[![Maintainability](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/maintainability)](https://codeclimate.com/github/rubocop
|
8
|
+
[![CircleCI Status](https://circleci.com/gh/rubocop/rubocop/tree/master.svg?style=svg)](https://circleci.com/gh/rubocop/rubocop/tree/master)
|
9
|
+
[![Actions Status](https://github.com/rubocop/rubocop/workflows/CI/badge.svg?branch=master)](https://github.com/rubocop/rubocop/actions?query=workflow%3ACI)
|
10
|
+
[![Test Coverage](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/test_coverage)](https://codeclimate.com/github/rubocop/rubocop/test_coverage)
|
11
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/d2d67f728e88ea84ac69/maintainability)](https://codeclimate.com/github/rubocop/rubocop/maintainability)
|
12
12
|
[![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=rubocop&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=rubocop&package-manager=bundler&version-scheme=semver)
|
13
|
+
[![Discord](https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true)](https://discord.gg/wJjWvGRDmm)
|
13
14
|
|
14
15
|
> Role models are important. <br/>
|
15
16
|
> -- Officer Alex J. Murphy / RoboCop
|
@@ -20,7 +21,7 @@ Guide](https://rubystyle.guide). Apart from reporting the problems discovered in
|
|
20
21
|
RuboCop can also automatically fix many of them for you.
|
21
22
|
|
22
23
|
RuboCop is extremely flexible and most aspects of its behavior can be tweaked via various
|
23
|
-
[configuration options](https://github.com/rubocop
|
24
|
+
[configuration options](https://github.com/rubocop/rubocop/blob/master/config/default.yml).
|
24
25
|
|
25
26
|
----------
|
26
27
|
[![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)
|
@@ -51,10 +52,10 @@ To prevent an unwanted RuboCop update you might want to use a conservative versi
|
|
51
52
|
in your `Gemfile`:
|
52
53
|
|
53
54
|
```rb
|
54
|
-
gem 'rubocop', '~> 1.
|
55
|
+
gem 'rubocop', '~> 1.13', require: false
|
55
56
|
```
|
56
57
|
|
57
|
-
See [versioning](https://docs.rubocop.org/rubocop/
|
58
|
+
See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
|
58
59
|
|
59
60
|
## Quickstart
|
60
61
|
|
@@ -73,7 +74,7 @@ You can read a lot more about RuboCop in its [official docs](https://docs.ruboco
|
|
73
74
|
|
74
75
|
RuboCop officially supports the following Ruby implementations:
|
75
76
|
|
76
|
-
* MRI 2.
|
77
|
+
* MRI 2.5+
|
77
78
|
* JRuby 9.2+
|
78
79
|
|
79
80
|
See the [compatibility documentation](https://docs.rubocop.org/rubocop/compatibility.html) for further details.
|
@@ -82,7 +83,7 @@ See the [compatibility documentation](https://docs.rubocop.org/rubocop/compatibi
|
|
82
83
|
|
83
84
|
If you use RuboCop in your project, you can include one of these badges in your readme to let people know that your code is written following the community Ruby Style Guide.
|
84
85
|
|
85
|
-
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop
|
86
|
+
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
|
86
87
|
|
87
88
|
[![Ruby Style Guide](https://img.shields.io/badge/code_style-community-brightgreen.svg)](https://rubystyle.guide)
|
88
89
|
|
@@ -90,7 +91,7 @@ If you use RuboCop in your project, you can include one of these badges in your
|
|
90
91
|
Here are the Markdown snippets for the two badges:
|
91
92
|
|
92
93
|
``` markdown
|
93
|
-
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop
|
94
|
+
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
|
94
95
|
|
95
96
|
[![Ruby Style Guide](https://img.shields.io/badge/code_style-community-brightgreen.svg)](https://rubystyle.guide)
|
96
97
|
```
|
@@ -116,14 +117,14 @@ See the [team page](https://docs.rubocop.org/rubocop/about/team.html) for more d
|
|
116
117
|
## Logo
|
117
118
|
|
118
119
|
RuboCop's logo was created by [Dimiter Petrov](https://www.chadomoto.com/). You can find the logo in various
|
119
|
-
formats [here](https://github.com/rubocop
|
120
|
+
formats [here](https://github.com/rubocop/rubocop/tree/master/logo).
|
120
121
|
|
121
122
|
The logo is licensed under a
|
122
123
|
[Creative Commons Attribution-NonCommercial 4.0 International License](https://creativecommons.org/licenses/by-nc/4.0/deed.en_GB).
|
123
124
|
|
124
125
|
## Contributors
|
125
126
|
|
126
|
-
Here's a [list](https://github.com/rubocop
|
127
|
+
Here's a [list](https://github.com/rubocop/rubocop/graphs/contributors) of
|
127
128
|
all the people who have contributed to the development of RuboCop.
|
128
129
|
|
129
130
|
I'm extremely grateful to each and every one of them!
|
data/assets/output.html.erb
CHANGED
@@ -254,7 +254,7 @@
|
|
254
254
|
<% end %>
|
255
255
|
</div>
|
256
256
|
<footer>
|
257
|
-
Generated by <a href="https://github.com/rubocop
|
257
|
+
Generated by <a href="https://github.com/rubocop/rubocop">RuboCop</a>
|
258
258
|
<span class="version"><%= RuboCop::Version::STRING %></span>
|
259
259
|
</footer>
|
260
260
|
</body>
|
data/config/default.yml
CHANGED
@@ -203,6 +203,13 @@ Bundler/OrderedGems:
|
|
203
203
|
|
204
204
|
#################### Gemspec ###############################
|
205
205
|
|
206
|
+
Gemspec/DateAssignment:
|
207
|
+
Description: 'Checks that `date =` is not used in gemspec file, it is set automatically when the gem is packaged.'
|
208
|
+
Enabled: pending
|
209
|
+
VersionAdded: '1.10'
|
210
|
+
Include:
|
211
|
+
- '**/*.gemspec'
|
212
|
+
|
206
213
|
Gemspec/DuplicatedAssignment:
|
207
214
|
Description: 'An attribute assignment method calls should be listed only once in a gemspec.'
|
208
215
|
Enabled: true
|
@@ -1094,6 +1101,14 @@ Layout/ParameterAlignment:
|
|
1094
1101
|
# But it can be overridden by setting this parameter
|
1095
1102
|
IndentationWidth: ~
|
1096
1103
|
|
1104
|
+
Layout/RedundantLineBreak:
|
1105
|
+
Description: >-
|
1106
|
+
Do not break up an expression into multiple lines when it fits
|
1107
|
+
on a single line.
|
1108
|
+
Enabled: false
|
1109
|
+
InspectBlocks: false
|
1110
|
+
VersionAdded: '1.13'
|
1111
|
+
|
1097
1112
|
Layout/RescueEnsureAlignment:
|
1098
1113
|
Description: 'Align rescues and ensures correctly.'
|
1099
1114
|
Enabled: true
|
@@ -1373,6 +1388,8 @@ Lint/AmbiguousBlockAssociation:
|
|
1373
1388
|
StyleGuide: '#syntax'
|
1374
1389
|
Enabled: true
|
1375
1390
|
VersionAdded: '0.48'
|
1391
|
+
VersionChanged: '1.13'
|
1392
|
+
IgnoredMethods: []
|
1376
1393
|
|
1377
1394
|
Lint/AmbiguousOperator:
|
1378
1395
|
Description: >-
|
@@ -1446,23 +1463,31 @@ Lint/Debugger:
|
|
1446
1463
|
Description: 'Check for debugger calls.'
|
1447
1464
|
Enabled: true
|
1448
1465
|
VersionAdded: '0.14'
|
1449
|
-
VersionChanged: '
|
1450
|
-
DebuggerReceivers:
|
1451
|
-
- binding
|
1452
|
-
- Kernel
|
1453
|
-
- Pry
|
1466
|
+
VersionChanged: '1.10'
|
1467
|
+
DebuggerReceivers: [] # deprecated
|
1454
1468
|
DebuggerMethods:
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1462
|
-
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1469
|
+
# Groups are available so that a specific group can be disabled in
|
1470
|
+
# a user's configuration, but are otherwise not significant.
|
1471
|
+
Kernel:
|
1472
|
+
- binding.irb
|
1473
|
+
Byebug:
|
1474
|
+
- byebug
|
1475
|
+
- remote_byebug
|
1476
|
+
- Kernel.byebug
|
1477
|
+
- Kernel.remote_byebug
|
1478
|
+
Capybara:
|
1479
|
+
- save_and_open_page
|
1480
|
+
- save_and_open_screenshot
|
1481
|
+
Pry:
|
1482
|
+
- binding.pry
|
1483
|
+
- binding.remote_pry
|
1484
|
+
- binding.pry_remote
|
1485
|
+
- Pry.rescue
|
1486
|
+
Rails:
|
1487
|
+
- debugger
|
1488
|
+
- Kernel.debugger
|
1489
|
+
WebConsole:
|
1490
|
+
- binding.console
|
1466
1491
|
|
1467
1492
|
Lint/DeprecatedClassMethods:
|
1468
1493
|
Description: 'Check for deprecated class method calls.'
|
@@ -2040,13 +2065,18 @@ Lint/SuppressedException:
|
|
2040
2065
|
StyleGuide: '#dont-hide-exceptions'
|
2041
2066
|
Enabled: true
|
2042
2067
|
AllowComments: true
|
2068
|
+
AllowNil: true
|
2043
2069
|
VersionAdded: '0.9'
|
2044
|
-
VersionChanged: '
|
2070
|
+
VersionChanged: '1.12'
|
2045
2071
|
|
2046
2072
|
Lint/SymbolConversion:
|
2047
2073
|
Description: 'Checks for unnecessary symbol conversions.'
|
2048
2074
|
Enabled: pending
|
2049
2075
|
VersionAdded: '1.9'
|
2076
|
+
EnforcedStyle: strict
|
2077
|
+
SupportedStyles:
|
2078
|
+
- strict
|
2079
|
+
- consistent
|
2050
2080
|
|
2051
2081
|
Lint/Syntax:
|
2052
2082
|
Description: 'Checks for syntax errors.'
|
@@ -2474,6 +2504,7 @@ Naming/MemoizedInstanceVariableName:
|
|
2474
2504
|
- disallowed
|
2475
2505
|
- required
|
2476
2506
|
- optional
|
2507
|
+
Safe: false
|
2477
2508
|
|
2478
2509
|
Naming/MethodName:
|
2479
2510
|
Description: 'Use the configured style when naming methods.'
|
@@ -3087,6 +3118,8 @@ Style/ConstantVisibility:
|
|
3087
3118
|
visibility declarations.
|
3088
3119
|
Enabled: false
|
3089
3120
|
VersionAdded: '0.66'
|
3121
|
+
VersionChanged: '1.10'
|
3122
|
+
IgnoreModules: false
|
3090
3123
|
|
3091
3124
|
# Checks that you have put a copyright in a comment before any code.
|
3092
3125
|
#
|
@@ -3157,6 +3190,7 @@ Style/Documentation:
|
|
3157
3190
|
Description: 'Document classes and non-namespace modules.'
|
3158
3191
|
Enabled: true
|
3159
3192
|
VersionAdded: '0.9'
|
3193
|
+
AllowedConstants: []
|
3160
3194
|
Exclude:
|
3161
3195
|
- 'spec/**/*'
|
3162
3196
|
- 'test/**/*'
|
@@ -3425,6 +3459,13 @@ Style/HashAsLastArrayItem:
|
|
3425
3459
|
- braces
|
3426
3460
|
- no_braces
|
3427
3461
|
|
3462
|
+
Style/HashConversion:
|
3463
|
+
Description: 'Avoid Hash[] in favor of ary.to_h or literal hashes.'
|
3464
|
+
Enabled: pending
|
3465
|
+
VersionAdded: '1.10'
|
3466
|
+
VersionChanged: '1.11'
|
3467
|
+
AllowSplatArgument: true
|
3468
|
+
|
3428
3469
|
Style/HashEachMethods:
|
3429
3470
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
3430
3471
|
StyleGuide: '#hash-each'
|
@@ -3648,6 +3689,7 @@ Style/MethodCallWithArgsParentheses:
|
|
3648
3689
|
AllowParenthesesInMultilineCall: false
|
3649
3690
|
AllowParenthesesInChaining: false
|
3650
3691
|
AllowParenthesesInCamelCaseMethod: false
|
3692
|
+
AllowParenthesesInStringInterpolation: false
|
3651
3693
|
EnforcedStyle: require_parentheses
|
3652
3694
|
SupportedStyles:
|
3653
3695
|
- require_parentheses
|
@@ -4467,6 +4509,13 @@ Style/StderrPuts:
|
|
4467
4509
|
Enabled: true
|
4468
4510
|
VersionAdded: '0.51'
|
4469
4511
|
|
4512
|
+
Style/StringChars:
|
4513
|
+
Description: 'Checks for uses of `String#split` with empty string or regexp literal argument.'
|
4514
|
+
StyleGuide: '#string-chars'
|
4515
|
+
Enabled: pending
|
4516
|
+
Safe: false
|
4517
|
+
VersionAdded: '1.12'
|
4518
|
+
|
4470
4519
|
Style/StringConcatenation:
|
4471
4520
|
Description: 'Checks for places where string concatenation can be replaced with string interpolation.'
|
4472
4521
|
StyleGuide: '#string-interpolation'
|
@@ -4564,6 +4613,7 @@ Style/SymbolProc:
|
|
4564
4613
|
Safe: false
|
4565
4614
|
VersionAdded: '0.26'
|
4566
4615
|
VersionChanged: '1.5'
|
4616
|
+
AllowMethodsWithArguments: false
|
4567
4617
|
# A list of method names to be ignored by the check.
|
4568
4618
|
# The names should be fairly unique, otherwise you'll end up ignoring lots of code.
|
4569
4619
|
IgnoredMethods:
|
@@ -4716,6 +4766,16 @@ Style/UnlessElse:
|
|
4716
4766
|
Enabled: true
|
4717
4767
|
VersionAdded: '0.9'
|
4718
4768
|
|
4769
|
+
Style/UnlessLogicalOperators:
|
4770
|
+
Description: >-
|
4771
|
+
Checks for use of logical operators in an unless condition.
|
4772
|
+
Enabled: false
|
4773
|
+
VersionAdded: '1.11'
|
4774
|
+
EnforcedStyle: forbid_mixed_logical_operators
|
4775
|
+
SupportedStyles:
|
4776
|
+
- forbid_mixed_logical_operators
|
4777
|
+
- forbid_logical_operators
|
4778
|
+
|
4719
4779
|
Style/UnpackFirst:
|
4720
4780
|
Description: >-
|
4721
4781
|
Checks for accessing the first element of `String#unpack`
|
data/config/obsoletion.yml
CHANGED
@@ -187,6 +187,10 @@ changed_parameters:
|
|
187
187
|
parameters: ExcludedMethods
|
188
188
|
alternative: IgnoredMethods
|
189
189
|
severity: warning
|
190
|
+
- cops: Lint/Debugger
|
191
|
+
parameters: DebuggerReceivers
|
192
|
+
reason: "`DebuggerReceivers` is no longer necessary, method receivers should be specified in `DebuggerMethods` instead."
|
193
|
+
severity: warning
|
190
194
|
|
191
195
|
# Enforced styles that have been removed or replaced
|
192
196
|
changed_enforced_styles:
|
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'
|
@@ -152,6 +151,7 @@ require_relative 'rubocop/cop/bundler/gem_comment'
|
|
152
151
|
require_relative 'rubocop/cop/bundler/insecure_protocol_source'
|
153
152
|
require_relative 'rubocop/cop/bundler/ordered_gems'
|
154
153
|
|
154
|
+
require_relative 'rubocop/cop/gemspec/date_assignment'
|
155
155
|
require_relative 'rubocop/cop/gemspec/duplicated_assignment'
|
156
156
|
require_relative 'rubocop/cop/gemspec/ordered_dependencies'
|
157
157
|
require_relative 'rubocop/cop/gemspec/required_ruby_version'
|
@@ -221,6 +221,7 @@ require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
|
|
221
221
|
require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
|
222
222
|
require_relative 'rubocop/cop/layout/multiline_operation_indentation'
|
223
223
|
require_relative 'rubocop/cop/layout/parameter_alignment'
|
224
|
+
require_relative 'rubocop/cop/layout/redundant_line_break'
|
224
225
|
require_relative 'rubocop/cop/layout/rescue_ensure_alignment'
|
225
226
|
require_relative 'rubocop/cop/layout/space_after_colon'
|
226
227
|
require_relative 'rubocop/cop/layout/space_after_comma'
|
@@ -472,6 +473,7 @@ require_relative 'rubocop/cop/style/global_std_stream'
|
|
472
473
|
require_relative 'rubocop/cop/style/global_vars'
|
473
474
|
require_relative 'rubocop/cop/style/guard_clause'
|
474
475
|
require_relative 'rubocop/cop/style/hash_as_last_array_item'
|
476
|
+
require_relative 'rubocop/cop/style/hash_conversion'
|
475
477
|
require_relative 'rubocop/cop/style/hash_each_methods'
|
476
478
|
require_relative 'rubocop/cop/style/hash_except'
|
477
479
|
require_relative 'rubocop/cop/style/hash_like_case'
|
@@ -580,6 +582,7 @@ require_relative 'rubocop/cop/style/slicing_with_range'
|
|
580
582
|
require_relative 'rubocop/cop/style/special_global_vars'
|
581
583
|
require_relative 'rubocop/cop/style/stabby_lambda_parentheses'
|
582
584
|
require_relative 'rubocop/cop/style/stderr_puts'
|
585
|
+
require_relative 'rubocop/cop/style/string_chars'
|
583
586
|
require_relative 'rubocop/cop/style/string_concatenation'
|
584
587
|
require_relative 'rubocop/cop/style/string_hash_keys'
|
585
588
|
require_relative 'rubocop/cop/style/string_literals'
|
@@ -603,6 +606,7 @@ require_relative 'rubocop/cop/style/trailing_method_end_statement'
|
|
603
606
|
require_relative 'rubocop/cop/style/trailing_underscore_variable'
|
604
607
|
require_relative 'rubocop/cop/style/trivial_accessors'
|
605
608
|
require_relative 'rubocop/cop/style/unless_else'
|
609
|
+
require_relative 'rubocop/cop/style/unless_logical_operators'
|
606
610
|
require_relative 'rubocop/cop/style/unpack_first'
|
607
611
|
require_relative 'rubocop/cop/style/variable_interpolation'
|
608
612
|
require_relative 'rubocop/cop/style/when_then'
|
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)
|