rubocop 0.68.1 → 0.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/config/default.yml +25 -9
- data/lib/rubocop.rb +1 -0
- data/lib/rubocop/ast/node.rb +6 -2
- data/lib/rubocop/ast/node/array_node.rb +2 -2
- data/lib/rubocop/ast/node/block_node.rb +2 -2
- data/lib/rubocop/ast/node/for_node.rb +1 -1
- data/lib/rubocop/ast/node/hash_node.rb +1 -1
- data/lib/rubocop/ast/node/if_node.rb +1 -1
- data/lib/rubocop/ast/node/keyword_splat_node.rb +1 -1
- data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +3 -3
- data/lib/rubocop/ast/node/mixin/method_identifier_predicates.rb +2 -2
- data/lib/rubocop/ast/node/mixin/parameterized_node.rb +1 -1
- data/lib/rubocop/ast/node/mixin/predicate_operator_node.rb +4 -4
- data/lib/rubocop/ast/node/pair_node.rb +4 -4
- data/lib/rubocop/ast/node/until_node.rb +1 -1
- data/lib/rubocop/ast/node/when_node.rb +1 -1
- data/lib/rubocop/ast/node/while_node.rb +1 -1
- data/lib/rubocop/cli.rb +6 -6
- data/lib/rubocop/comment_config.rb +6 -6
- data/lib/rubocop/config.rb +8 -6
- data/lib/rubocop/config_loader.rb +3 -3
- data/lib/rubocop/cop/badge.rb +1 -1
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -1
- data/lib/rubocop/cop/bundler/gem_comment.rb +1 -1
- data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +1 -1
- data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -1
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +5 -5
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/parentheses_corrector.rb +1 -1
- data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -1
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +0 -1
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +7 -7
- data/lib/rubocop/cop/generator.rb +6 -6
- data/lib/rubocop/cop/generator/configuration_injector.rb +5 -5
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +1 -1
- data/lib/rubocop/cop/layout/access_modifier_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/align_arguments.rb +2 -2
- data/lib/rubocop/cop/layout/align_array.rb +1 -1
- data/lib/rubocop/cop/layout/align_hash.rb +3 -3
- data/lib/rubocop/cop/layout/align_parameters.rb +2 -2
- data/lib/rubocop/cop/layout/block_alignment.rb +4 -4
- data/lib/rubocop/cop/layout/block_end_newline.rb +0 -1
- data/lib/rubocop/cop/layout/case_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/class_structure.rb +2 -2
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +4 -4
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +3 -3
- data/lib/rubocop/cop/layout/comment_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/condition_position.rb +1 -1
- data/lib/rubocop/cop/layout/def_end_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/else_alignment.rb +2 -2
- data/lib/rubocop/cop/layout/empty_comment.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +5 -5
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -2
- data/lib/rubocop/cop/layout/empty_lines.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +2 -2
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +1 -1
- data/lib/rubocop/cop/layout/end_of_line.rb +2 -2
- data/lib/rubocop/cop/layout/extra_spacing.rb +5 -5
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +3 -10
- data/lib/rubocop/cop/layout/indent_assignment.rb +1 -1
- data/lib/rubocop/cop/layout/indent_first_argument.rb +1 -1
- data/lib/rubocop/cop/layout/indent_first_array_element.rb +1 -1
- data/lib/rubocop/cop/layout/indent_first_hash_element.rb +1 -1
- data/lib/rubocop/cop/layout/indent_first_parameter.rb +2 -2
- data/lib/rubocop/cop/layout/indent_heredoc.rb +9 -47
- data/lib/rubocop/cop/layout/indentation_consistency.rb +1 -1
- data/lib/rubocop/cop/layout/indentation_width.rb +2 -2
- data/lib/rubocop/cop/layout/initial_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/leading_blank_lines.rb +1 -1
- data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +4 -4
- data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +2 -2
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +2 -2
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +4 -4
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +4 -4
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +4 -4
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -2
- data/lib/rubocop/cop/layout/space_after_colon.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -2
- data/lib/rubocop/cop/layout/space_after_not.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_keyword.rb +9 -9
- data/lib/rubocop/cop/layout/space_around_operators.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +2 -2
- data/lib/rubocop/cop/layout/space_before_comment.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +1 -1
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +4 -3
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +2 -2
- data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_parens.rb +2 -2
- data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_range_literal.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +2 -2
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +2 -2
- data/lib/rubocop/cop/layout/tab.rb +1 -1
- data/lib/rubocop/cop/layout/trailing_blank_lines.rb +1 -1
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +1 -1
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +1 -1
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +1 -1
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +2 -2
- data/lib/rubocop/cop/lint/big_decimal_new.rb +1 -1
- data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -1
- data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
- data/lib/rubocop/cop/lint/debugger.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
- data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +1 -1
- data/lib/rubocop/cop/lint/duplicated_key.rb +1 -1
- 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_ensure.rb +1 -1
- data/lib/rubocop/cop/lint/empty_expression.rb +1 -1
- data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/empty_when.rb +1 -1
- data/lib/rubocop/cop/lint/end_in_method.rb +1 -1
- data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
- data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +7 -8
- data/lib/rubocop/cop/lint/handle_exceptions.rb +1 -1
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +5 -6
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +5 -5
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +4 -4
- data/lib/rubocop/cop/lint/inherit_exception.rb +22 -1
- data/lib/rubocop/cop/lint/interpolation_check.rb +1 -1
- data/lib/rubocop/cop/lint/literal_as_condition.rb +1 -1
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/loop.rb +1 -1
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +2 -2
- data/lib/rubocop/cop/lint/multiple_compare.rb +1 -1
- data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
- 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_local_exit_from_iterator.rb +1 -1
- data/lib/rubocop/cop/lint/number_conversion.rb +16 -1
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -1
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +2 -2
- data/lib/rubocop/cop/lint/percent_string_array.rb +1 -1
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -1
- data/lib/rubocop/cop/lint/rand_one.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -2
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -1
- data/lib/rubocop/cop/lint/require_parentheses.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_type.rb +1 -1
- data/lib/rubocop/cop/lint/return_in_void_context.rb +2 -2
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -4
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +2 -2
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -1
- data/lib/rubocop/cop/lint/script_permission.rb +2 -2
- data/lib/rubocop/cop/lint/shadowed_argument.rb +1 -1
- data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -1
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +1 -1
- data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +2 -2
- data/lib/rubocop/cop/lint/to_json.rb +1 -1
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -1
- data/lib/rubocop/cop/lint/unified_integer.rb +3 -1
- data/lib/rubocop/cop/lint/unneeded_cop_disable_directive.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_cop_enable_directive.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_require_statement.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_splat_expansion.rb +7 -7
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -1
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
- data/lib/rubocop/cop/lint/uri_regexp.rb +1 -1
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/useless_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
- data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +1 -1
- data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
- data/lib/rubocop/cop/lint/void.rb +6 -6
- 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/cyclomatic_complexity.rb +1 -1
- data/lib/rubocop/cop/metrics/line_length.rb +1 -1
- data/lib/rubocop/cop/metrics/method_length.rb +1 -1
- data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -1
- data/lib/rubocop/cop/mixin/alignment.rb +1 -1
- data/lib/rubocop/cop/mixin/check_assignment.rb +1 -1
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -3
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -1
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -4
- data/lib/rubocop/cop/mixin/min_body_length.rb +1 -1
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +4 -4
- data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
- data/lib/rubocop/cop/mixin/percent_array.rb +2 -2
- data/lib/rubocop/cop/mixin/range_help.rb +1 -1
- data/lib/rubocop/cop/mixin/rescue_node.rb +1 -2
- data/lib/rubocop/cop/mixin/safe_mode.rb +1 -1
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +1 -1
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -1
- data/lib/rubocop/cop/mixin/surrounding_space.rb +3 -3
- data/lib/rubocop/cop/mixin/too_many_lines.rb +2 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -1
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +4 -4
- data/lib/rubocop/cop/naming/accessor_method_name.rb +2 -2
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -1
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +1 -1
- data/lib/rubocop/cop/naming/constant_name.rb +4 -4
- data/lib/rubocop/cop/naming/file_name.rb +3 -3
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +1 -1
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +1 -1
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -2
- data/lib/rubocop/cop/naming/method_name.rb +1 -1
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +1 -1
- data/lib/rubocop/cop/naming/variable_name.rb +1 -1
- data/lib/rubocop/cop/naming/variable_number.rb +1 -1
- data/lib/rubocop/cop/rails/action_filter.rb +1 -1
- data/lib/rubocop/cop/rails/active_record_aliases.rb +1 -1
- data/lib/rubocop/cop/rails/active_record_override.rb +1 -1
- data/lib/rubocop/cop/rails/active_support_aliases.rb +1 -1
- data/lib/rubocop/cop/rails/application_job.rb +3 -3
- data/lib/rubocop/cop/rails/application_record.rb +3 -3
- data/lib/rubocop/cop/rails/assert_not.rb +1 -1
- data/lib/rubocop/cop/rails/belongs_to.rb +2 -2
- data/lib/rubocop/cop/rails/blank.rb +3 -3
- data/lib/rubocop/cop/rails/bulk_change_table.rb +4 -4
- data/lib/rubocop/cop/rails/create_table_with_timestamps.rb +1 -1
- data/lib/rubocop/cop/rails/date.rb +11 -6
- data/lib/rubocop/cop/rails/delegate.rb +1 -1
- data/lib/rubocop/cop/rails/delegate_allow_blank.rb +1 -1
- data/lib/rubocop/cop/rails/dynamic_find_by.rb +1 -1
- data/lib/rubocop/cop/rails/enum_uniqueness.rb +1 -1
- data/lib/rubocop/cop/rails/environment_comparison.rb +2 -2
- data/lib/rubocop/cop/rails/exit.rb +1 -1
- data/lib/rubocop/cop/rails/file_path.rb +2 -2
- data/lib/rubocop/cop/rails/find_by.rb +1 -1
- data/lib/rubocop/cop/rails/find_each.rb +2 -3
- data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +1 -1
- data/lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb +1 -1
- data/lib/rubocop/cop/rails/http_positional_arguments.rb +1 -1
- data/lib/rubocop/cop/rails/http_status.rb +4 -4
- data/lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb +1 -1
- data/lib/rubocop/cop/rails/inverse_of.rb +2 -2
- data/lib/rubocop/cop/rails/lexically_scoped_action_filter.rb +1 -1
- data/lib/rubocop/cop/rails/link_to_blank.rb +9 -2
- data/lib/rubocop/cop/rails/not_null_column.rb +1 -1
- data/lib/rubocop/cop/rails/output.rb +1 -1
- data/lib/rubocop/cop/rails/output_safety.rb +2 -2
- data/lib/rubocop/cop/rails/pluralization_grammar.rb +1 -1
- data/lib/rubocop/cop/rails/presence.rb +1 -1
- data/lib/rubocop/cop/rails/present.rb +3 -3
- data/lib/rubocop/cop/rails/read_write_attribute.rb +1 -1
- data/lib/rubocop/cop/rails/redundant_allow_nil.rb +2 -2
- data/lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb +1 -1
- data/lib/rubocop/cop/rails/reflection_class_name.rb +1 -1
- data/lib/rubocop/cop/rails/refute_methods.rb +1 -1
- data/lib/rubocop/cop/rails/relative_date_constant.rb +2 -2
- data/lib/rubocop/cop/rails/request_referer.rb +1 -1
- data/lib/rubocop/cop/rails/reversible_migration.rb +4 -4
- data/lib/rubocop/cop/rails/safe_navigation.rb +2 -6
- data/lib/rubocop/cop/rails/save_bang.rb +8 -8
- data/lib/rubocop/cop/rails/scope_args.rb +1 -1
- data/lib/rubocop/cop/rails/skips_model_validations.rb +1 -1
- data/lib/rubocop/cop/rails/time_zone.rb +53 -39
- data/lib/rubocop/cop/rails/uniq_before_pluck.rb +3 -3
- data/lib/rubocop/cop/rails/unknown_env.rb +2 -2
- data/lib/rubocop/cop/rails/validation.rb +1 -1
- data/lib/rubocop/cop/registry.rb +1 -1
- data/lib/rubocop/cop/security/eval.rb +1 -1
- data/lib/rubocop/cop/security/json_load.rb +1 -1
- data/lib/rubocop/cop/security/marshal_load.rb +1 -1
- data/lib/rubocop/cop/security/open.rb +1 -1
- data/lib/rubocop/cop/security/yaml_load.rb +1 -1
- data/lib/rubocop/cop/style/alias.rb +3 -3
- data/lib/rubocop/cop/style/and_or.rb +1 -1
- data/lib/rubocop/cop/style/array_join.rb +1 -1
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
- data/lib/rubocop/cop/style/attr.rb +1 -1
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +1 -1
- data/lib/rubocop/cop/style/bare_percent_literals.rb +1 -1
- data/lib/rubocop/cop/style/begin_block.rb +1 -1
- data/lib/rubocop/cop/style/block_comments.rb +1 -1
- data/lib/rubocop/cop/style/block_delimiters.rb +0 -1
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +1 -1
- data/lib/rubocop/cop/style/case_equality.rb +1 -1
- data/lib/rubocop/cop/style/character_literal.rb +1 -1
- data/lib/rubocop/cop/style/class_and_module_children.rb +5 -5
- data/lib/rubocop/cop/style/class_check.rb +1 -1
- data/lib/rubocop/cop/style/class_methods.rb +1 -1
- data/lib/rubocop/cop/style/class_vars.rb +1 -1
- data/lib/rubocop/cop/style/collection_methods.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_definition.rb +1 -1
- data/lib/rubocop/cop/style/command_literal.rb +2 -2
- data/lib/rubocop/cop/style/comment_annotation.rb +2 -2
- data/lib/rubocop/cop/style/commented_keyword.rb +1 -1
- data/lib/rubocop/cop/style/conditional_assignment.rb +14 -14
- data/lib/rubocop/cop/style/constant_visibility.rb +1 -1
- data/lib/rubocop/cop/style/copyright.rb +2 -2
- data/lib/rubocop/cop/style/date_time.rb +2 -2
- data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/dir.rb +1 -1
- data/lib/rubocop/cop/style/documentation.rb +2 -2
- data/lib/rubocop/cop/style/documentation_method.rb +1 -1
- data/lib/rubocop/cop/style/double_negation.rb +1 -1
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
- data/lib/rubocop/cop/style/each_with_object.rb +3 -3
- data/lib/rubocop/cop/style/empty_block_parameter.rb +1 -1
- data/lib/rubocop/cop/style/empty_case_condition.rb +1 -1
- data/lib/rubocop/cop/style/empty_else.rb +2 -2
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -1
- data/lib/rubocop/cop/style/empty_literal.rb +3 -3
- data/lib/rubocop/cop/style/empty_method.rb +2 -2
- data/lib/rubocop/cop/style/encoding.rb +2 -2
- data/lib/rubocop/cop/style/end_block.rb +1 -1
- data/lib/rubocop/cop/style/eval_with_location.rb +3 -3
- data/lib/rubocop/cop/style/even_odd.rb +1 -1
- data/lib/rubocop/cop/style/expand_path_arguments.rb +3 -3
- data/lib/rubocop/cop/style/for.rb +2 -2
- data/lib/rubocop/cop/style/format_string.rb +1 -1
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +5 -21
- data/lib/rubocop/cop/style/global_vars.rb +1 -1
- data/lib/rubocop/cop/style/guard_clause.rb +3 -3
- data/lib/rubocop/cop/style/hash_syntax.rb +3 -3
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -1
- data/lib/rubocop/cop/style/if_inside_else.rb +2 -2
- data/lib/rubocop/cop/style/if_unless_modifier.rb +1 -1
- data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +1 -1
- data/lib/rubocop/cop/style/if_with_semicolon.rb +2 -2
- data/lib/rubocop/cop/style/implicit_runtime_error.rb +1 -1
- data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
- data/lib/rubocop/cop/style/inline_comment.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +7 -1
- data/lib/rubocop/cop/style/ip_addresses.rb +1 -1
- data/lib/rubocop/cop/style/lambda.rb +2 -2
- data/lib/rubocop/cop/style/line_end_concatenation.rb +2 -2
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +3 -3
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -2
- data/lib/rubocop/cop/style/method_def_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/method_missing_super.rb +1 -1
- data/lib/rubocop/cop/style/min_max.rb +1 -1
- data/lib/rubocop/cop/style/missing_else.rb +3 -3
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -1
- data/lib/rubocop/cop/style/mixin_grouping.rb +1 -1
- data/lib/rubocop/cop/style/mixin_usage.rb +1 -1
- data/lib/rubocop/cop/style/module_function.rb +3 -3
- data/lib/rubocop/cop/style/multiline_block_chain.rb +2 -2
- data/lib/rubocop/cop/style/multiline_if_modifier.rb +1 -1
- data/lib/rubocop/cop/style/multiline_if_then.rb +1 -1
- data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
- data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +3 -3
- data/lib/rubocop/cop/style/negated_if.rb +1 -1
- data/lib/rubocop/cop/style/negated_unless.rb +89 -0
- data/lib/rubocop/cop/style/nested_modifier.rb +4 -4
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +1 -1
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +1 -1
- data/lib/rubocop/cop/style/next.rb +5 -5
- data/lib/rubocop/cop/style/nil_comparison.rb +2 -2
- data/lib/rubocop/cop/style/not.rb +1 -1
- data/lib/rubocop/cop/style/numeric_literal_prefix.rb +5 -5
- data/lib/rubocop/cop/style/numeric_literals.rb +2 -2
- data/lib/rubocop/cop/style/numeric_predicate.rb +2 -10
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
- 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/or_assignment.rb +1 -1
- data/lib/rubocop/cop/style/parallel_assignment.rb +2 -2
- data/lib/rubocop/cop/style/percent_q_literals.rb +2 -2
- data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
- data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -1
- data/lib/rubocop/cop/style/proc.rb +1 -1
- data/lib/rubocop/cop/style/raise_args.rb +2 -2
- data/lib/rubocop/cop/style/random_with_offset.rb +1 -1
- data/lib/rubocop/cop/style/redundant_begin.rb +2 -2
- data/lib/rubocop/cop/style/redundant_conditional.rb +1 -1
- data/lib/rubocop/cop/style/redundant_exception.rb +2 -2
- data/lib/rubocop/cop/style/redundant_freeze.rb +1 -1
- data/lib/rubocop/cop/style/redundant_parentheses.rb +6 -6
- data/lib/rubocop/cop/style/redundant_return.rb +3 -3
- data/lib/rubocop/cop/style/redundant_self.rb +2 -2
- data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -1
- data/lib/rubocop/cop/style/regexp_literal.rb +2 -2
- data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
- data/lib/rubocop/cop/style/rescue_standard_error.rb +2 -2
- data/lib/rubocop/cop/style/return_nil.rb +2 -2
- data/lib/rubocop/cop/style/safe_navigation.rb +2 -7
- data/lib/rubocop/cop/style/sample.rb +1 -1
- data/lib/rubocop/cop/style/self_assignment.rb +1 -1
- data/lib/rubocop/cop/style/semicolon.rb +1 -1
- data/lib/rubocop/cop/style/send.rb +1 -1
- data/lib/rubocop/cop/style/signal_exception.rb +2 -2
- data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
- data/lib/rubocop/cop/style/single_line_methods.rb +1 -1
- data/lib/rubocop/cop/style/special_global_vars.rb +5 -5
- data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/stderr_puts.rb +0 -1
- data/lib/rubocop/cop/style/string_hash_keys.rb +2 -1
- data/lib/rubocop/cop/style/string_literals.rb +1 -1
- data/lib/rubocop/cop/style/string_methods.rb +1 -1
- data/lib/rubocop/cop/style/strip.rb +1 -1
- data/lib/rubocop/cop/style/struct_inheritance.rb +1 -1
- data/lib/rubocop/cop/style/symbol_array.rb +2 -2
- data/lib/rubocop/cop/style/symbol_literal.rb +1 -1
- data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
- data/lib/rubocop/cop/style/ternary_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/trailing_body_on_class.rb +1 -1
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -1
- data/lib/rubocop/cop/style/trailing_body_on_module.rb +1 -1
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -1
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +2 -2
- data/lib/rubocop/cop/style/trivial_accessors.rb +2 -2
- data/lib/rubocop/cop/style/unless_else.rb +2 -2
- data/lib/rubocop/cop/style/unneeded_capital_w.rb +1 -1
- data/lib/rubocop/cop/style/unneeded_condition.rb +4 -4
- data/lib/rubocop/cop/style/unneeded_interpolation.rb +3 -3
- data/lib/rubocop/cop/style/unneeded_percent_q.rb +7 -7
- data/lib/rubocop/cop/style/unneeded_sort.rb +2 -2
- data/lib/rubocop/cop/style/unpack_first.rb +1 -1
- data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/when_then.rb +1 -1
- data/lib/rubocop/cop/style/while_until_do.rb +1 -1
- data/lib/rubocop/cop/style/while_until_modifier.rb +1 -1
- data/lib/rubocop/cop/style/word_array.rb +2 -2
- data/lib/rubocop/cop/style/yoda_condition.rb +1 -1
- data/lib/rubocop/cop/style/zero_length_predicate.rb +2 -2
- data/lib/rubocop/cop/util.rb +2 -2
- data/lib/rubocop/cop/variable_force/variable_table.rb +1 -1
- data/lib/rubocop/core_ext/string.rb +1 -1
- data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
- data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -2
- data/lib/rubocop/formatter/fuubar_style_formatter.rb +1 -1
- data/lib/rubocop/formatter/html_formatter.rb +1 -1
- data/lib/rubocop/formatter/progress_formatter.rb +1 -1
- data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
- data/lib/rubocop/magic_comment.rb +4 -4
- data/lib/rubocop/node_pattern.rb +9 -9
- data/lib/rubocop/options.rb +2 -2
- data/lib/rubocop/processed_source.rb +3 -5
- data/lib/rubocop/rspec/cop_helper.rb +2 -2
- data/lib/rubocop/rspec/expect_offense.rb +5 -5
- data/lib/rubocop/rspec/shared_contexts.rb +0 -4
- data/lib/rubocop/runner.rb +1 -1
- data/lib/rubocop/string_interpreter.rb +7 -7
- data/lib/rubocop/version.rb +2 -2
- metadata +11 -16
@@ -48,9 +48,9 @@ module RuboCop
|
|
48
48
|
VARIABLE_TYPES = AST::Node::VARIABLES
|
49
49
|
NON_COMPLEX_TYPES = [*VARIABLE_TYPES, :const, :defined?, :yield].freeze
|
50
50
|
|
51
|
-
MSG = '%<command>s parentheses for ternary conditions.'
|
51
|
+
MSG = '%<command>s parentheses for ternary conditions.'
|
52
52
|
MSG_COMPLEX = '%<command>s parentheses for ternary expressions with' \
|
53
|
-
' complex conditions.'
|
53
|
+
' complex conditions.'
|
54
54
|
|
55
55
|
def on_if(node)
|
56
56
|
return unless node.ternary? && !infinite_loop? && offense?(node)
|
@@ -19,7 +19,7 @@ module RuboCop
|
|
19
19
|
include Alignment
|
20
20
|
include TrailingBody
|
21
21
|
|
22
|
-
MSG = 'Place the first line of module body on its own line.'
|
22
|
+
MSG = 'Place the first line of module body on its own line.'
|
23
23
|
|
24
24
|
def on_module(node)
|
25
25
|
return unless trailing_body?(node)
|
@@ -27,8 +27,8 @@ module RuboCop
|
|
27
27
|
include RangeHelp
|
28
28
|
|
29
29
|
MSG = 'Do not use trailing `_`s in parallel assignment. ' \
|
30
|
-
'Prefer `%<code>s`.'
|
31
|
-
UNDERSCORE = '_'
|
30
|
+
'Prefer `%<code>s`.'
|
31
|
+
UNDERSCORE = '_'
|
32
32
|
|
33
33
|
def on_masgn(node)
|
34
34
|
ranges = unneeded_ranges(node)
|
@@ -28,7 +28,7 @@ module RuboCop
|
|
28
28
|
# attr_reader :baz
|
29
29
|
# end
|
30
30
|
class TrivialAccessors < Cop
|
31
|
-
MSG = 'Use `attr_%<kind>s` to define trivial %<kind>s methods.'
|
31
|
+
MSG = 'Use `attr_%<kind>s` to define trivial %<kind>s methods.'
|
32
32
|
|
33
33
|
def on_def(node)
|
34
34
|
return if top_level_node?(node)
|
@@ -41,7 +41,7 @@ module RuboCop
|
|
41
41
|
|
42
42
|
def autocorrect(node)
|
43
43
|
parent = node.parent
|
44
|
-
return if parent
|
44
|
+
return if parent&.send_type?
|
45
45
|
|
46
46
|
if node.def_type?
|
47
47
|
autocorrect_instance(node)
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
23
23
|
include RangeHelp
|
24
24
|
|
25
25
|
MSG = 'Do not use `unless` with `else`. Rewrite these with the ' \
|
26
|
-
'positive case first.'
|
26
|
+
'positive case first.'
|
27
27
|
|
28
28
|
def on_if(node)
|
29
29
|
return unless node.unless? && node.else?
|
@@ -36,7 +36,7 @@ module RuboCop
|
|
36
36
|
else_range = range_between_else_and_end(node)
|
37
37
|
|
38
38
|
lambda do |corrector|
|
39
|
-
corrector.replace(node.loc.keyword, 'if'
|
39
|
+
corrector.replace(node.loc.keyword, 'if')
|
40
40
|
corrector.replace(body_range, else_range.source)
|
41
41
|
corrector.replace(else_range, body_range.source)
|
42
42
|
end
|
@@ -33,8 +33,8 @@ module RuboCop
|
|
33
33
|
class UnneededCondition < Cop
|
34
34
|
include RangeHelp
|
35
35
|
|
36
|
-
MSG = 'Use double pipes `||` instead.'
|
37
|
-
UNNEEDED_CONDITION = 'This condition is not needed.'
|
36
|
+
MSG = 'Use double pipes `||` instead.'
|
37
|
+
UNNEEDED_CONDITION = 'This condition is not needed.'
|
38
38
|
|
39
39
|
def on_if(node)
|
40
40
|
return if node.elsif_conditional?
|
@@ -86,7 +86,7 @@ module RuboCop
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def use_if_branch?(else_branch)
|
89
|
-
else_branch
|
89
|
+
else_branch&.if_type?
|
90
90
|
end
|
91
91
|
|
92
92
|
def else_source(else_branch)
|
@@ -100,7 +100,7 @@ module RuboCop
|
|
100
100
|
ternary_form = [if_branch.source,
|
101
101
|
else_source(else_branch)].join(' || ')
|
102
102
|
|
103
|
-
if node.parent
|
103
|
+
if node.parent&.send_type?
|
104
104
|
"(#{ternary_form})"
|
105
105
|
else
|
106
106
|
ternary_form
|
@@ -18,7 +18,7 @@ module RuboCop
|
|
18
18
|
class UnneededInterpolation < Cop
|
19
19
|
include PercentLiteral
|
20
20
|
|
21
|
-
MSG = 'Prefer `to_s` over string interpolation.'
|
21
|
+
MSG = 'Prefer `to_s` over string interpolation.'
|
22
22
|
|
23
23
|
def self.autocorrect_incompatible_with
|
24
24
|
[Style::LineEndConcatenation]
|
@@ -62,11 +62,11 @@ module RuboCop
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def implicit_concatenation?(node)
|
65
|
-
node.parent
|
65
|
+
node.parent&.dstr_type?
|
66
66
|
end
|
67
67
|
|
68
68
|
def embedded_in_percent_array?(node)
|
69
|
-
node.parent
|
69
|
+
node.parent&.array_type? &&
|
70
70
|
percent_literal?(node.parent)
|
71
71
|
end
|
72
72
|
|
@@ -19,14 +19,14 @@ module RuboCop
|
|
19
19
|
#
|
20
20
|
class UnneededPercentQ < Cop
|
21
21
|
MSG = 'Use `%<q_type>s` only for strings that contain both ' \
|
22
|
-
'single quotes and double quotes%<extra>s.'
|
22
|
+
'single quotes and double quotes%<extra>s.'
|
23
23
|
DYNAMIC_MSG = ', or for dynamic strings that contain ' \
|
24
|
-
'double quotes'
|
25
|
-
SINGLE_QUOTE = "'"
|
26
|
-
QUOTE = '"'
|
27
|
-
EMPTY = ''
|
28
|
-
PERCENT_Q = '%q'
|
29
|
-
PERCENT_CAPITAL_Q = '%Q'
|
24
|
+
'double quotes'
|
25
|
+
SINGLE_QUOTE = "'"
|
26
|
+
QUOTE = '"'
|
27
|
+
EMPTY = ''
|
28
|
+
PERCENT_Q = '%q'
|
29
|
+
PERCENT_CAPITAL_Q = '%Q'
|
30
30
|
STRING_INTERPOLATION_REGEXP = /#\{.+}/.freeze
|
31
31
|
ESCAPED_NON_BACKSLASH = /\\[^\\]/.freeze
|
32
32
|
|
@@ -53,7 +53,7 @@ module RuboCop
|
|
53
53
|
include RangeHelp
|
54
54
|
|
55
55
|
MSG = 'Use `%<suggestion>s` instead of '\
|
56
|
-
'`%<sorter>s...%<accessor_source>s`.'
|
56
|
+
'`%<sorter>s...%<accessor_source>s`.'
|
57
57
|
|
58
58
|
def_node_matcher :unneeded_sort?, <<-MATCHER
|
59
59
|
{
|
@@ -127,7 +127,7 @@ module RuboCop
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def base(accessor, arg)
|
130
|
-
if accessor == :first || (arg
|
130
|
+
if accessor == :first || (arg&.zero?)
|
131
131
|
'min'
|
132
132
|
elsif accessor == :last || arg == -1
|
133
133
|
'max'
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
23
23
|
minimum_target_ruby_version 2.4
|
24
24
|
|
25
25
|
MSG = 'Use `%<receiver>s.unpack1(%<format>s)` instead of '\
|
26
|
-
'`%<receiver>s.unpack(%<format>s)%<method>s`.'
|
26
|
+
'`%<receiver>s.unpack(%<format>s)%<method>s`.'
|
27
27
|
|
28
28
|
def_node_matcher :unpack_and_first_element?, <<-PATTERN
|
29
29
|
{
|
@@ -17,7 +17,7 @@ module RuboCop
|
|
17
17
|
# "Let's go to the #{@store}"
|
18
18
|
class VariableInterpolation < Cop
|
19
19
|
MSG = 'Replace interpolated variable `%<variable>s` ' \
|
20
|
-
'with expression `#{%<variable>s}`.'
|
20
|
+
'with expression `#{%<variable>s}`.'
|
21
21
|
|
22
22
|
def on_dstr(node)
|
23
23
|
check_for_interpolation(node)
|
@@ -18,7 +18,7 @@ module RuboCop
|
|
18
18
|
# when 2 then 'bar'
|
19
19
|
# end
|
20
20
|
class WhenThen < Cop
|
21
|
-
MSG = 'Do not use `when x;`. Use `when x then` instead.'
|
21
|
+
MSG = 'Do not use `when x;`. Use `when x then` instead.'
|
22
22
|
|
23
23
|
def on_when(node)
|
24
24
|
return if node.multiline? || node.then? || !node.body
|
@@ -33,8 +33,8 @@ module RuboCop
|
|
33
33
|
include ConfigurableEnforcedStyle
|
34
34
|
include PercentArray
|
35
35
|
|
36
|
-
PERCENT_MSG = 'Use `%w` or `%W` for an array of words.'
|
37
|
-
ARRAY_MSG = 'Use `[]` for an array of words.'
|
36
|
+
PERCENT_MSG = 'Use `%w` or `%W` for an array of words.'
|
37
|
+
ARRAY_MSG = 'Use `[]` for an array of words.'
|
38
38
|
|
39
39
|
class << self
|
40
40
|
attr_accessor :largest_brackets
|
@@ -26,9 +26,9 @@ module RuboCop
|
|
26
26
|
# !string.empty?
|
27
27
|
# !hash.empty?
|
28
28
|
class ZeroLengthPredicate < Cop
|
29
|
-
ZERO_MSG = 'Use `empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
|
29
|
+
ZERO_MSG = 'Use `empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
|
30
30
|
NONZERO_MSG = 'Use `!empty?` instead of ' \
|
31
|
-
'`%<lhs>s %<opr>s %<rhs>s`.'
|
31
|
+
'`%<lhs>s %<opr>s %<rhs>s`.'
|
32
32
|
|
33
33
|
def on_send(node)
|
34
34
|
check_zero_length_predicate(node)
|
data/lib/rubocop/cop/util.rb
CHANGED
@@ -23,7 +23,7 @@ module RuboCop
|
|
23
23
|
|
24
24
|
def parentheses?(node)
|
25
25
|
node.loc.respond_to?(:end) && node.loc.end &&
|
26
|
-
node.loc.end.is?(')'
|
26
|
+
node.loc.end.is?(')')
|
27
27
|
end
|
28
28
|
|
29
29
|
def on_node(syms, sexp, excludes = [], &block)
|
@@ -119,7 +119,7 @@ module RuboCop
|
|
119
119
|
private
|
120
120
|
|
121
121
|
def compatible_external_encoding_for?(src)
|
122
|
-
src = src.dup if
|
122
|
+
src = src.dup if RUBY_ENGINE == 'jruby'
|
123
123
|
src.force_encoding(Encoding.default_external).valid_encoding?
|
124
124
|
end
|
125
125
|
end
|
@@ -6,7 +6,7 @@ module RuboCop
|
|
6
6
|
# The precise location of the problem is shown together with the
|
7
7
|
# relevant source code.
|
8
8
|
class ClangStyleFormatter < SimpleTextFormatter
|
9
|
-
ELLIPSES = '...'
|
9
|
+
ELLIPSES = '...'
|
10
10
|
|
11
11
|
def report_file(file, offenses)
|
12
12
|
offenses.each { |offense| report_offense(file, offense) }
|
@@ -5,7 +5,7 @@ module RuboCop
|
|
5
5
|
# This formatter displays a YAML configuration file where all cops that
|
6
6
|
# detected any offenses are configured to not detect the offense.
|
7
7
|
class DisabledConfigFormatter < BaseFormatter
|
8
|
-
HEADING =
|
8
|
+
HEADING = <<~COMMENTS
|
9
9
|
# This configuration was generated by
|
10
10
|
# `%<command>s`
|
11
11
|
# %<timestamp>susing RuboCop version #{Version.version}.
|
@@ -121,7 +121,7 @@ module RuboCop
|
|
121
121
|
end
|
122
122
|
|
123
123
|
cop_class = Cop::Cop.registry.find_by_cop_name(cop_name)
|
124
|
-
if cop_class
|
124
|
+
if cop_class&.new&.support_autocorrect?
|
125
125
|
output_buffer.puts '# Cop supports --auto-correct.'
|
126
126
|
end
|
127
127
|
|
@@ -9,7 +9,7 @@ module RuboCop
|
|
9
9
|
# This is inspired by the Fuubar formatter for RSpec by Jeff Kreeftmeijer.
|
10
10
|
# https://github.com/jeffkreeftmeijer/fuubar
|
11
11
|
class FuubarStyleFormatter < ClangStyleFormatter
|
12
|
-
RESET_SEQUENCE = "\e[0m"
|
12
|
+
RESET_SEQUENCE = "\e[0m"
|
13
13
|
|
14
14
|
def initialize(*output)
|
15
15
|
@severest_offense = nil
|
@@ -10,7 +10,7 @@ module RuboCop
|
|
10
10
|
module Formatter
|
11
11
|
# This formatter saves the output as an html file.
|
12
12
|
class HTMLFormatter < BaseFormatter
|
13
|
-
ELLIPSES = '<span class="extra-code">...</span>'
|
13
|
+
ELLIPSES = '<span class="extra-code">...</span>'
|
14
14
|
TEMPLATE_PATH =
|
15
15
|
File.expand_path('../../../assets/output.html.erb', __dir__)
|
16
16
|
|
@@ -130,8 +130,8 @@ module RuboCop
|
|
130
130
|
# @see https://git.io/vMCXh Emacs handling in Ruby's parse.y
|
131
131
|
class EmacsComment < EditorComment
|
132
132
|
FORMAT = /\-\*\-(.+)\-\*\-/.freeze
|
133
|
-
SEPARATOR = ';'
|
134
|
-
OPERATOR = ':'
|
133
|
+
SEPARATOR = ';'
|
134
|
+
OPERATOR = ':'
|
135
135
|
|
136
136
|
def encoding
|
137
137
|
match('(?:en)?coding')
|
@@ -154,8 +154,8 @@ module RuboCop
|
|
154
154
|
# comment.encoding # => 'ascii-8bit'
|
155
155
|
class VimComment < EditorComment
|
156
156
|
FORMAT = /#\s*vim:\s*(.+)/.freeze
|
157
|
-
SEPARATOR = ', '
|
158
|
-
OPERATOR = '='
|
157
|
+
SEPARATOR = ', '
|
158
|
+
OPERATOR = '='
|
159
159
|
|
160
160
|
# For some reason the fileencoding keyword only works if there
|
161
161
|
# is at least one other token included in the string. For example
|
data/lib/rubocop/node_pattern.rb
CHANGED
@@ -127,21 +127,21 @@ module RuboCop
|
|
127
127
|
PARAM = /\A#{PARAM_NUMBER}\Z/.freeze
|
128
128
|
CLOSING = /\A(?:\)|\}|\])\Z/.freeze
|
129
129
|
|
130
|
-
REST = '...'
|
131
|
-
CAPTURED_REST = '$...'
|
130
|
+
REST = '...'
|
131
|
+
CAPTURED_REST = '$...'
|
132
132
|
|
133
133
|
attr_reader :match_code, :tokens, :captures
|
134
134
|
|
135
135
|
SEQ_HEAD_INDEX = -1
|
136
136
|
|
137
137
|
# Placeholders while compiling, see with_..._context methods
|
138
|
-
CUR_PLACEHOLDER = '@@@cur'
|
139
|
-
CUR_NODE = "#{CUR_PLACEHOLDER} node@@@"
|
140
|
-
CUR_ELEMENT = "#{CUR_PLACEHOLDER} element@@@"
|
141
|
-
SEQ_HEAD_GUARD = '@@@seq guard head@@@'
|
138
|
+
CUR_PLACEHOLDER = '@@@cur'
|
139
|
+
CUR_NODE = "#{CUR_PLACEHOLDER} node@@@"
|
140
|
+
CUR_ELEMENT = "#{CUR_PLACEHOLDER} element@@@"
|
141
|
+
SEQ_HEAD_GUARD = '@@@seq guard head@@@'
|
142
142
|
|
143
143
|
line = __LINE__
|
144
|
-
ANY_ORDER_TEMPLATE = ERB.new
|
144
|
+
ANY_ORDER_TEMPLATE = ERB.new <<~RUBY.gsub("-%>\n", '%>')
|
145
145
|
<% if capture_rest %>(<%= capture_rest %> = []) && <% end -%>
|
146
146
|
<% if capture_all %>(<%= capture_all %> = <% end -%>
|
147
147
|
<%= CUR_NODE %>.children[<%= range %>]<% if capture_all %>)<% end -%>
|
@@ -176,7 +176,7 @@ module RuboCop
|
|
176
176
|
|
177
177
|
@match_code = with_context(compile_expr, node_var, use_temp_node: false)
|
178
178
|
@match_code.prepend("(captures = Array.new(#{@captures})) && ") \
|
179
|
-
if @captures
|
179
|
+
if @captures.positive?
|
180
180
|
|
181
181
|
fail_due_to('unbalanced pattern') unless tokens.empty?
|
182
182
|
end
|
@@ -334,7 +334,7 @@ module RuboCop
|
|
334
334
|
def variadic_arity
|
335
335
|
return unless @variadic_index
|
336
336
|
|
337
|
-
first = @variadic_index
|
337
|
+
first = @variadic_index.positive? ? first_terms_arity : SEQ_HEAD_INDEX
|
338
338
|
yield first..-last_terms_arity - 1
|
339
339
|
end
|
340
340
|
end
|