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
data/lib/rubocop/cop/badge.rb
CHANGED
@@ -13,7 +13,7 @@ module RuboCop
|
|
13
13
|
# Error raised when a badge parse fails.
|
14
14
|
class InvalidBadge < Error
|
15
15
|
MSG = 'Invalid badge %<badge>p. ' \
|
16
|
-
'Expected `Department/CopName` or `CopName`.'
|
16
|
+
'Expected `Department/CopName` or `CopName`.'
|
17
17
|
|
18
18
|
def initialize(token)
|
19
19
|
super(format(MSG, badge: token))
|
@@ -29,7 +29,7 @@ module RuboCop
|
|
29
29
|
include RangeHelp
|
30
30
|
|
31
31
|
MSG = 'Gem `%<gem_name>s` requirements already given on line '\
|
32
|
-
'%<line_of_first_occurrence>d of the Gemfile.'
|
32
|
+
'%<line_of_first_occurrence>d of the Gemfile.'
|
33
33
|
|
34
34
|
def investigate(processed_source)
|
35
35
|
return if processed_source.blank?
|
@@ -31,7 +31,7 @@ module RuboCop
|
|
31
31
|
MSG = 'The source `:%<source>s` is deprecated because HTTP requests ' \
|
32
32
|
'are insecure. ' \
|
33
33
|
"Please change your source to 'https://rubygems.org' " \
|
34
|
-
"if possible, or 'http://rubygems.org' if not."
|
34
|
+
"if possible, or 'http://rubygems.org' if not."
|
35
35
|
|
36
36
|
def_node_matcher :insecure_protocol_source?, <<-PATTERN
|
37
37
|
(send nil? :source
|
@@ -30,7 +30,7 @@ module RuboCop
|
|
30
30
|
|
31
31
|
MSG = 'Gems should be sorted in an alphabetical order within their '\
|
32
32
|
'section of the Gemfile. '\
|
33
|
-
'Gem `%<previous>s` should appear before `%<current>s`.'
|
33
|
+
'Gem `%<previous>s` should appear before `%<current>s`.'
|
34
34
|
|
35
35
|
def investigate(processed_source)
|
36
36
|
return if processed_source.blank?
|
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
# We must not change indentation of heredoc strings.
|
45
45
|
return if heredoc_ranges.any? { |h| within?(range, h) }
|
46
46
|
|
47
|
-
if column_delta
|
47
|
+
if column_delta.positive?
|
48
48
|
unless range.source == "\n"
|
49
49
|
# TODO: Fix ranges instead of using `begin`
|
50
50
|
corrector.insert_before(range.begin, ' ' * column_delta)
|
@@ -71,7 +71,7 @@ module RuboCop
|
|
71
71
|
def calculate_range(expr, line_begin_pos, column_delta)
|
72
72
|
starts_with_space =
|
73
73
|
expr.source_buffer.source[line_begin_pos].start_with?(' ')
|
74
|
-
pos_to_remove = if column_delta
|
74
|
+
pos_to_remove = if column_delta.positive? || starts_with_space
|
75
75
|
line_begin_pos
|
76
76
|
else
|
77
77
|
line_begin_pos - column_delta.abs
|
@@ -7,8 +7,8 @@ module RuboCop
|
|
7
7
|
extend NodePattern::Macros
|
8
8
|
|
9
9
|
CORRECTION_WITH_ARGUMENTS =
|
10
|
-
'for %<variables>s in %<collection>s do'
|
11
|
-
CORRECTION_WITHOUT_ARGUMENTS = 'for _ in %<enumerable>s do'
|
10
|
+
'for %<variables>s in %<collection>s do'
|
11
|
+
CORRECTION_WITHOUT_ARGUMENTS = 'for _ in %<enumerable>s do'
|
12
12
|
|
13
13
|
def initialize(block_node)
|
14
14
|
@block_node = block_node
|
@@ -70,7 +70,7 @@ module RuboCop
|
|
70
70
|
|
71
71
|
def remove_trailing_whitespace(corrector)
|
72
72
|
size = block_begin.begin_pos - arguments.source_range.end_pos - 1
|
73
|
-
corrector.remove_preceding(block_begin, size) if size
|
73
|
+
corrector.remove_preceding(block_begin, size) if size.positive?
|
74
74
|
end
|
75
75
|
|
76
76
|
def replace_delimiters(corrector)
|
@@ -93,11 +93,11 @@ module RuboCop
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def arguments_end_pos
|
96
|
-
arguments.loc.end
|
96
|
+
arguments.loc.end&.end_pos
|
97
97
|
end
|
98
98
|
|
99
99
|
def arguments_begin_pos
|
100
|
-
arguments.loc.begin
|
100
|
+
arguments.loc.begin&.begin_pos
|
101
101
|
end
|
102
102
|
|
103
103
|
def block_end
|
@@ -117,12 +117,12 @@ module RuboCop
|
|
117
117
|
|
118
118
|
parent = current_node.parent
|
119
119
|
|
120
|
-
if parent
|
120
|
+
if parent&.pair_type?
|
121
121
|
current_node = parent.parent
|
122
122
|
parent = current_node.parent
|
123
123
|
end
|
124
124
|
|
125
|
-
return false unless parent
|
125
|
+
return false unless parent&.send_type?
|
126
126
|
return false if parent.parenthesized_call?
|
127
127
|
|
128
128
|
current_node.sibling_index > 1
|
@@ -38,7 +38,7 @@ module RuboCop
|
|
38
38
|
include RangeHelp
|
39
39
|
|
40
40
|
MSG = '`%<assignment>s` method calls already given on line '\
|
41
|
-
'%<line_of_first_occurrence>d of the gemspec.'
|
41
|
+
'%<line_of_first_occurrence>d of the gemspec.'
|
42
42
|
|
43
43
|
def_node_search :gem_specification, <<-PATTERN
|
44
44
|
(block
|
@@ -57,7 +57,6 @@ module RuboCop
|
|
57
57
|
MSG = 'Dependencies should be sorted in an alphabetical order within ' \
|
58
58
|
'their section of the gemspec. '\
|
59
59
|
'Dependency `%<previous>s` should appear before `%<current>s`.'
|
60
|
-
.freeze
|
61
60
|
|
62
61
|
def investigate(processed_source)
|
63
62
|
return if processed_source.blank?
|
@@ -9,37 +9,37 @@ module RuboCop
|
|
9
9
|
# required by gemspec.
|
10
10
|
#
|
11
11
|
# @example
|
12
|
-
# # When `TargetRubyVersion` of .rubocop.yml is `2.
|
12
|
+
# # When `TargetRubyVersion` of .rubocop.yml is `2.5`.
|
13
13
|
#
|
14
14
|
# # bad
|
15
15
|
# Gem::Specification.new do |spec|
|
16
|
-
# spec.required_ruby_version = '>= 2.
|
16
|
+
# spec.required_ruby_version = '>= 2.4.0'
|
17
17
|
# end
|
18
18
|
#
|
19
19
|
# # bad
|
20
20
|
# Gem::Specification.new do |spec|
|
21
|
-
# spec.required_ruby_version = '>= 2.
|
21
|
+
# spec.required_ruby_version = '>= 2.6.0'
|
22
22
|
# end
|
23
23
|
#
|
24
24
|
# # good
|
25
25
|
# Gem::Specification.new do |spec|
|
26
|
-
# spec.required_ruby_version = '>= 2.
|
26
|
+
# spec.required_ruby_version = '>= 2.5.0'
|
27
27
|
# end
|
28
28
|
#
|
29
29
|
# # good
|
30
30
|
# Gem::Specification.new do |spec|
|
31
|
-
# spec.required_ruby_version = '>= 2.
|
31
|
+
# spec.required_ruby_version = '>= 2.5'
|
32
32
|
# end
|
33
33
|
#
|
34
34
|
# # good
|
35
35
|
# Gem::Specification.new do |spec|
|
36
|
-
# spec.required_ruby_version = ['>= 2.
|
36
|
+
# spec.required_ruby_version = ['>= 2.5.0', '< 2.7.0']
|
37
37
|
# end
|
38
38
|
class RequiredRubyVersion < Cop
|
39
39
|
MSG = '`required_ruby_version` (%<required_ruby_version>s, ' \
|
40
40
|
'declared in %<gemspec_filename>s) and `TargetRubyVersion` ' \
|
41
41
|
'(%<target_ruby_version>s, which may be specified in ' \
|
42
|
-
'.rubocop.yml) should be equal.'
|
42
|
+
'.rubocop.yml) should be equal.'
|
43
43
|
|
44
44
|
def_node_search :required_ruby_version, <<-PATTERN
|
45
45
|
(send _ :required_ruby_version= ${(str _) (array (str _))})
|
@@ -7,7 +7,7 @@ module RuboCop
|
|
7
7
|
# This generator will take a cop name and generate a source file
|
8
8
|
# and spec file when given a valid qualified cop name.
|
9
9
|
class Generator
|
10
|
-
SOURCE_TEMPLATE =
|
10
|
+
SOURCE_TEMPLATE = <<~RUBY
|
11
11
|
# frozen_string_literal: true
|
12
12
|
|
13
13
|
# TODO: when finished, run `rake generate_cops_documentation` to update the docs
|
@@ -72,7 +72,7 @@ module RuboCop
|
|
72
72
|
end
|
73
73
|
RUBY
|
74
74
|
|
75
|
-
SPEC_TEMPLATE =
|
75
|
+
SPEC_TEMPLATE = <<~SPEC
|
76
76
|
# frozen_string_literal: true
|
77
77
|
|
78
78
|
RSpec.describe RuboCop::Cop::%<department>s::%<cop_name>s do
|
@@ -84,21 +84,21 @@ module RuboCop
|
|
84
84
|
#
|
85
85
|
# For example
|
86
86
|
it 'registers an offense when using `#bad_method`' do
|
87
|
-
expect_offense(
|
87
|
+
expect_offense(<<~RUBY)
|
88
88
|
bad_method
|
89
89
|
^^^^^^^^^^ Use `#good_method` instead of `#bad_method`.
|
90
90
|
RUBY
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'does not register an offense when using `#good_method`' do
|
94
|
-
expect_no_offenses(
|
94
|
+
expect_no_offenses(<<~RUBY)
|
95
95
|
good_method
|
96
96
|
RUBY
|
97
97
|
end
|
98
98
|
end
|
99
99
|
SPEC
|
100
100
|
|
101
|
-
CONFIGURATION_ADDED_MESSAGE =
|
101
|
+
CONFIGURATION_ADDED_MESSAGE = <<~MESSAGE
|
102
102
|
[modify] A configuration for the cop is added into %<configuration_file_path>s.
|
103
103
|
If you want to disable the cop by default, set `Enabled` option to false.
|
104
104
|
MESSAGE
|
@@ -140,7 +140,7 @@ module RuboCop
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def todo
|
143
|
-
|
143
|
+
<<~TODO
|
144
144
|
Do 3 steps:
|
145
145
|
1. Add an entry to the "New features" section in CHANGELOG.md,
|
146
146
|
e.g. "Add new `#{badge}` cop. ([@#{github_user}][])"
|
@@ -7,11 +7,11 @@ module RuboCop
|
|
7
7
|
# It looks for other directives that require files in the same (cop)
|
8
8
|
# namespace and injects the provided one in alpha
|
9
9
|
class ConfigurationInjector
|
10
|
-
TEMPLATE =
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
TEMPLATE = <<~YAML
|
11
|
+
%<badge>s:
|
12
|
+
Description: 'TODO: Write a description of the cop.'
|
13
|
+
Enabled: true
|
14
|
+
VersionAdded: '%<version_added>s'
|
15
15
|
|
16
16
|
YAML
|
17
17
|
|
@@ -17,7 +17,7 @@ module RuboCop
|
|
17
17
|
# method_name = send_node.method_name
|
18
18
|
class NodeDestructuring < Cop
|
19
19
|
MSG = 'Use the methods provided with the node extensions instead ' \
|
20
|
-
'of manually destructuring nodes.'
|
20
|
+
'of manually destructuring nodes.'
|
21
21
|
|
22
22
|
def_node_matcher :node_variable?, <<-PATTERN
|
23
23
|
{(lvar [#node_suffix? _]) (send nil? [#node_suffix? _])}
|
@@ -14,7 +14,7 @@ module RuboCop
|
|
14
14
|
# node.send_type?
|
15
15
|
#
|
16
16
|
class NodeTypePredicate < Cop
|
17
|
-
MSG = 'Use `#%<type>s_type?` to check node type.'
|
17
|
+
MSG = 'Use `#%<type>s_type?` to check node type.'
|
18
18
|
|
19
19
|
def_node_matcher :node_type_check, <<-PATTERN
|
20
20
|
(send (send $_ :type) :== (sym $_))
|
@@ -15,7 +15,7 @@ module RuboCop
|
|
15
15
|
# add_offense(node, location: :selector)
|
16
16
|
class OffenseLocationKeyword < Cop
|
17
17
|
MSG = 'Use `:%<keyword>s` as the location argument to ' \
|
18
|
-
'`#add_offense`.'
|
18
|
+
'`#add_offense`.'
|
19
19
|
|
20
20
|
def on_send(node)
|
21
21
|
node_type_check(node) do |node_arg, kwargs|
|
@@ -19,7 +19,7 @@ module RuboCop
|
|
19
19
|
class RedundantLocationArgument < Cop
|
20
20
|
include RangeHelp
|
21
21
|
|
22
|
-
MSG = 'Redundant location argument to `#add_offense`.'
|
22
|
+
MSG = 'Redundant location argument to `#add_offense`.'
|
23
23
|
|
24
24
|
def_node_matcher :redundant_location_argument, <<-PATTERN
|
25
25
|
(send nil? :add_offense _
|
@@ -22,7 +22,7 @@ module RuboCop
|
|
22
22
|
class RedundantMessageArgument < Cop
|
23
23
|
include RangeHelp
|
24
24
|
|
25
|
-
MSG = 'Redundant message argument to `#add_offense`.'
|
25
|
+
MSG = 'Redundant message argument to `#add_offense`.'
|
26
26
|
|
27
27
|
def_node_matcher :node_type_check, <<-PATTERN
|
28
28
|
(send nil? :add_offense $_node $hash)
|
@@ -14,7 +14,7 @@ module RuboCop
|
|
14
14
|
# expect(cop.messages).to eq(['Do not write bad code like that.'])
|
15
15
|
#
|
16
16
|
class UselessMessageAssertion < Cop
|
17
|
-
MSG = 'Do not specify cop behavior using `described_class::MSG`.'
|
17
|
+
MSG = 'Do not specify cop behavior using `described_class::MSG`.'
|
18
18
|
|
19
19
|
def_node_search :described_class_msg, <<-PATTERN
|
20
20
|
(const (send nil? :described_class) :MSG)
|
@@ -37,10 +37,10 @@ module RuboCop
|
|
37
37
|
include ConfigurableEnforcedStyle
|
38
38
|
include RangeHelp
|
39
39
|
|
40
|
-
MSG = '%<style>s access modifiers like `%<node>s`.'
|
40
|
+
MSG = '%<style>s access modifiers like `%<node>s`.'
|
41
41
|
|
42
42
|
def on_class(node)
|
43
|
-
return unless node.body
|
43
|
+
return unless node.body&.begin_type?
|
44
44
|
|
45
45
|
check_body(node.body, node)
|
46
46
|
end
|
@@ -41,10 +41,10 @@ module RuboCop
|
|
41
41
|
include Alignment
|
42
42
|
|
43
43
|
ALIGN_PARAMS_MSG = 'Align the arguments of a method call if ' \
|
44
|
-
'they span more than one line.'
|
44
|
+
'they span more than one line.'
|
45
45
|
|
46
46
|
FIXED_INDENT_MSG = 'Use one level of indentation for arguments ' \
|
47
|
-
'following the first line of a multi-line method call.'
|
47
|
+
'following the first line of a multi-line method call.'
|
48
48
|
|
49
49
|
def on_send(node)
|
50
50
|
return if node.arguments.size < 2 ||
|
@@ -178,7 +178,7 @@ module RuboCop
|
|
178
178
|
include RangeHelp
|
179
179
|
|
180
180
|
MSG = 'Align the elements of a hash literal if they span more than ' \
|
181
|
-
'one line.'
|
181
|
+
'one line.'
|
182
182
|
|
183
183
|
def on_send(node)
|
184
184
|
return if double_splat?(node)
|
@@ -298,9 +298,9 @@ module RuboCop
|
|
298
298
|
end
|
299
299
|
|
300
300
|
def adjust(corrector, delta, range)
|
301
|
-
if delta
|
301
|
+
if delta.positive?
|
302
302
|
corrector.insert_before(range, ' ' * delta)
|
303
|
-
elsif delta
|
303
|
+
elsif delta.negative?
|
304
304
|
range = range_between(range.begin_pos - delta.abs, range.begin_pos)
|
305
305
|
corrector.remove(range)
|
306
306
|
end
|
@@ -72,10 +72,10 @@ module RuboCop
|
|
72
72
|
include Alignment
|
73
73
|
|
74
74
|
ALIGN_PARAMS_MSG = 'Align the parameters of a method definition if ' \
|
75
|
-
'they span more than one line.'
|
75
|
+
'they span more than one line.'
|
76
76
|
|
77
77
|
FIXED_INDENT_MSG = 'Use one level of indentation for parameters ' \
|
78
|
-
'following the first line of a multi-line method definition.'
|
78
|
+
'following the first line of a multi-line method definition.'
|
79
79
|
|
80
80
|
def on_def(node)
|
81
81
|
return if node.arguments.size < 2
|
@@ -65,7 +65,7 @@ module RuboCop
|
|
65
65
|
include ConfigurableEnforcedStyle
|
66
66
|
include RangeHelp
|
67
67
|
|
68
|
-
MSG = '%<current>s is not aligned with %<prefer>s%<alt_prefer>s.'
|
68
|
+
MSG = '%<current>s is not aligned with %<prefer>s%<alt_prefer>s.'
|
69
69
|
|
70
70
|
def_node_matcher :block_end_align_target?, <<-PATTERN
|
71
71
|
{assignment?
|
@@ -90,9 +90,9 @@ module RuboCop
|
|
90
90
|
loc_end = node.loc.end
|
91
91
|
delta = start_col - loc_end.column
|
92
92
|
|
93
|
-
if delta
|
93
|
+
if delta.positive?
|
94
94
|
add_space_before(loc_end, delta)
|
95
|
-
elsif delta
|
95
|
+
elsif delta.negative?
|
96
96
|
remove_space_before(loc_end.begin_pos, -delta)
|
97
97
|
end
|
98
98
|
end
|
@@ -125,7 +125,7 @@ module RuboCop
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def disqualified_parent?(parent, node)
|
128
|
-
parent
|
128
|
+
parent&.loc && parent.first_line != node.first_line &&
|
129
129
|
!parent.masgn_type?
|
130
130
|
end
|
131
131
|
|