rubocop 0.87.1 → 0.91.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 +2 -2
- data/bin/rubocop-profile +32 -0
- data/config/default.yml +267 -33
- data/lib/rubocop.rb +45 -5
- data/lib/rubocop/cached_data.rb +1 -0
- data/lib/rubocop/cli.rb +2 -2
- data/lib/rubocop/cli/command.rb +1 -0
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +4 -3
- data/lib/rubocop/cli/command/base.rb +2 -0
- data/lib/rubocop/cli/command/execute_runner.rb +10 -1
- data/lib/rubocop/cli/command/init_dotfile.rb +1 -0
- data/lib/rubocop/cli/command/show_cops.rb +3 -2
- data/lib/rubocop/cli/command/version.rb +3 -2
- data/lib/rubocop/cli/environment.rb +1 -0
- data/lib/rubocop/comment_config.rb +10 -7
- data/lib/rubocop/config.rb +20 -3
- data/lib/rubocop/config_loader.rb +42 -18
- data/lib/rubocop/config_loader_resolver.rb +4 -3
- data/lib/rubocop/config_obsoletion.rb +7 -1
- data/lib/rubocop/config_store.rb +7 -3
- data/lib/rubocop/config_validator.rb +5 -4
- data/lib/rubocop/cop/autocorrect_logic.rb +1 -1
- data/lib/rubocop/cop/badge.rb +1 -1
- data/lib/rubocop/cop/base.rb +37 -6
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +5 -1
- data/lib/rubocop/cop/bundler/gem_comment.rb +8 -3
- data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +2 -0
- data/lib/rubocop/cop/commissioner.rb +47 -8
- data/lib/rubocop/cop/cop.rb +1 -1
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +4 -4
- data/lib/rubocop/cop/correctors/condition_corrector.rb +3 -5
- data/lib/rubocop/cop/correctors/empty_line_corrector.rb +9 -10
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +6 -6
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +34 -3
- data/lib/rubocop/cop/correctors/parentheses_corrector.rb +5 -8
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +6 -11
- data/lib/rubocop/cop/correctors/punctuation_corrector.rb +8 -10
- data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +15 -18
- data/lib/rubocop/cop/documentation.rb +22 -0
- data/lib/rubocop/cop/force.rb +1 -0
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +38 -12
- data/lib/rubocop/cop/generator.rb +2 -1
- data/lib/rubocop/cop/generator/configuration_injector.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +5 -12
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -0
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +9 -8
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +11 -7
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +8 -8
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -2
- data/lib/rubocop/cop/layout/begin_end_alignment.rb +77 -0
- data/lib/rubocop/cop/layout/block_alignment.rb +24 -20
- data/lib/rubocop/cop/layout/class_structure.rb +13 -16
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +4 -6
- data/lib/rubocop/cop/layout/comment_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/condition_position.rb +13 -15
- data/lib/rubocop/cop/layout/def_end_alignment.rb +8 -5
- data/lib/rubocop/cop/layout/dot_position.rb +21 -17
- data/lib/rubocop/cop/layout/empty_comment.rb +30 -23
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +19 -16
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +13 -13
- data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +145 -0
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +21 -23
- data/lib/rubocop/cop/layout/empty_lines.rb +6 -9
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +5 -6
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +7 -8
- data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +3 -6
- data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +2 -5
- data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +2 -5
- data/lib/rubocop/cop/layout/end_alignment.rb +14 -19
- data/lib/rubocop/cop/layout/extra_spacing.rb +22 -36
- data/lib/rubocop/cop/layout/first_array_element_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +5 -9
- data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +2 -5
- data/lib/rubocop/cop/layout/hash_alignment.rb +17 -20
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +15 -14
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +16 -13
- data/lib/rubocop/cop/layout/indentation_style.rb +0 -2
- data/lib/rubocop/cop/layout/initial_indentation.rb +6 -7
- data/lib/rubocop/cop/layout/leading_comment_space.rb +12 -10
- data/lib/rubocop/cop/layout/leading_empty_lines.rb +6 -11
- data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +10 -14
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +37 -24
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +5 -9
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +2 -5
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +32 -24
- data/lib/rubocop/cop/layout/space_after_colon.rb +11 -7
- data/lib/rubocop/cop/layout/space_after_comma.rb +2 -5
- data/lib/rubocop/cop/layout/space_after_method_name.rb +5 -6
- data/lib/rubocop/cop/layout/space_after_not.rb +9 -11
- data/lib/rubocop/cop/layout/space_after_semicolon.rb +2 -5
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +3 -2
- data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +20 -15
- data/lib/rubocop/cop/layout/space_around_keyword.rb +17 -18
- data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +33 -66
- data/lib/rubocop/cop/layout/space_around_operators.rb +17 -16
- data/lib/rubocop/cop/layout/space_before_block_braces.rb +23 -22
- data/lib/rubocop/cop/layout/space_before_comma.rb +3 -5
- data/lib/rubocop/cop/layout/space_before_comment.rb +10 -7
- data/lib/rubocop/cop/layout/space_before_first_arg.rb +7 -7
- data/lib/rubocop/cop/layout/space_before_semicolon.rb +2 -5
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +9 -17
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +16 -18
- data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +3 -8
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +17 -16
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +15 -19
- data/lib/rubocop/cop/layout/space_inside_parens.rb +9 -14
- data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +5 -10
- data/lib/rubocop/cop/layout/space_inside_range_literal.rb +8 -17
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +14 -22
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +10 -11
- data/lib/rubocop/cop/layout/trailing_empty_lines.rb +10 -15
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +11 -11
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +7 -4
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +17 -10
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +11 -13
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +2 -2
- data/lib/rubocop/cop/lint/big_decimal_new.rb +9 -10
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +50 -0
- data/lib/rubocop/cop/lint/boolean_symbol.rb +16 -11
- data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
- data/lib/rubocop/cop/lint/constant_definition_in_block.rb +54 -0
- data/lib/rubocop/cop/lint/constant_resolution.rb +2 -2
- data/lib/rubocop/cop/lint/debugger.rb +6 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +7 -10
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +17 -13
- data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +8 -2
- data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +39 -0
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +7 -6
- data/lib/rubocop/cop/lint/duplicate_require.rb +46 -0
- data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +49 -0
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +2 -1
- data/lib/rubocop/cop/lint/else_layout.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +67 -0
- data/lib/rubocop/cop/lint/empty_ensure.rb +5 -5
- data/lib/rubocop/cop/lint/empty_expression.rb +2 -2
- data/lib/rubocop/cop/lint/empty_file.rb +50 -0
- data/lib/rubocop/cop/lint/empty_interpolation.rb +5 -6
- data/lib/rubocop/cop/lint/empty_when.rb +2 -2
- data/lib/rubocop/cop/lint/ensure_return.rb +27 -29
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +13 -10
- data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
- data/lib/rubocop/cop/lint/float_comparison.rb +93 -0
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +4 -3
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +13 -14
- data/lib/rubocop/cop/lint/identity_comparison.rb +49 -0
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +5 -4
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +8 -8
- data/lib/rubocop/cop/lint/inherit_exception.rb +12 -7
- data/lib/rubocop/cop/lint/interpolation_check.rb +18 -15
- data/lib/rubocop/cop/lint/literal_as_condition.rb +14 -2
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -7
- data/lib/rubocop/cop/lint/loop.rb +23 -2
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +6 -5
- data/lib/rubocop/cop/lint/missing_super.rb +99 -0
- data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +3 -36
- data/lib/rubocop/cop/lint/multiple_comparison.rb +9 -10
- data/lib/rubocop/cop/lint/nested_method_definition.rb +14 -20
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -1
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +82 -11
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +2 -2
- data/lib/rubocop/cop/lint/number_conversion.rb +7 -9
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +11 -13
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +79 -0
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +4 -10
- data/lib/rubocop/cop/lint/percent_string_array.rb +3 -6
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +13 -12
- data/lib/rubocop/cop/lint/raise_exception.rb +13 -10
- data/lib/rubocop/cop/lint/rand_one.rb +2 -1
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +16 -19
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +7 -11
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +5 -7
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +13 -9
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +6 -13
- data/lib/rubocop/cop/lint/redundant_with_index.rb +11 -14
- data/lib/rubocop/cop/lint/redundant_with_object.rb +11 -14
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +4 -6
- data/lib/rubocop/cop/lint/require_parentheses.rb +2 -2
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_type.rb +8 -8
- data/lib/rubocop/cop/lint/return_in_void_context.rb +2 -4
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +3 -6
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +14 -10
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +7 -7
- data/lib/rubocop/cop/lint/script_permission.rb +10 -7
- data/lib/rubocop/cop/lint/self_assignment.rb +78 -0
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +8 -12
- data/lib/rubocop/cop/lint/shadowed_argument.rb +3 -3
- data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -2
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +7 -7
- data/lib/rubocop/cop/lint/struct_new_override.rb +2 -1
- data/lib/rubocop/cop/lint/suppressed_exception.rb +4 -7
- data/lib/rubocop/cop/lint/to_json.rb +20 -11
- data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +34 -0
- data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +57 -0
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +4 -4
- data/lib/rubocop/cop/lint/unified_integer.rb +4 -6
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_loop.rb +175 -0
- data/lib/rubocop/cop/lint/unused_block_argument.rb +8 -3
- data/lib/rubocop/cop/lint/unused_method_argument.rb +8 -3
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +4 -2
- data/lib/rubocop/cop/lint/uri_regexp.rb +12 -47
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +25 -15
- data/lib/rubocop/cop/lint/useless_assignment.rb +4 -4
- data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +6 -15
- data/lib/rubocop/cop/lint/useless_method_definition.rb +70 -0
- data/lib/rubocop/cop/lint/useless_setter_call.rb +4 -6
- data/lib/rubocop/cop/lint/useless_times.rb +97 -0
- data/lib/rubocop/cop/lint/void.rb +3 -7
- data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
- data/lib/rubocop/cop/metrics/block_length.rb +2 -2
- data/lib/rubocop/cop/metrics/block_nesting.rb +2 -2
- data/lib/rubocop/cop/metrics/class_length.rb +2 -2
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +2 -1
- data/lib/rubocop/cop/metrics/method_length.rb +2 -2
- data/lib/rubocop/cop/metrics/module_length.rb +2 -2
- data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -6
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +7 -8
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +50 -5
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +53 -24
- data/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +37 -0
- data/lib/rubocop/cop/migration/department_name.rb +14 -16
- data/lib/rubocop/cop/mixin/alignment.rb +5 -1
- data/lib/rubocop/cop/mixin/allowed_methods.rb +2 -0
- data/lib/rubocop/cop/mixin/annotation_comment.rb +5 -0
- data/lib/rubocop/cop/mixin/array_min_size.rb +1 -1
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +17 -8
- data/lib/rubocop/cop/mixin/code_length.rb +22 -5
- data/lib/rubocop/cop/mixin/comments_help.rb +48 -0
- data/lib/rubocop/cop/mixin/configurable_naming.rb +2 -2
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +8 -7
- data/lib/rubocop/cop/mixin/empty_parameter.rb +3 -1
- data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +12 -1
- data/lib/rubocop/cop/mixin/first_element_line_break.rb +3 -1
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +31 -12
- data/lib/rubocop/cop/mixin/line_length_help.rb +1 -3
- data/lib/rubocop/cop/mixin/method_complexity.rb +10 -2
- data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +3 -1
- data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +13 -12
- data/lib/rubocop/cop/mixin/negative_conditional.rb +2 -2
- data/lib/rubocop/cop/mixin/percent_array.rb +16 -9
- data/lib/rubocop/cop/mixin/range_help.rb +18 -4
- data/lib/rubocop/cop/mixin/regexp_literal_help.rb +1 -1
- data/lib/rubocop/cop/mixin/rescue_node.rb +10 -1
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +4 -3
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +4 -3
- data/lib/rubocop/cop/mixin/statement_modifier.rb +39 -10
- data/lib/rubocop/cop/mixin/surrounding_space.rb +8 -29
- data/lib/rubocop/cop/mixin/trailing_comma.rb +9 -11
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +6 -13
- data/lib/rubocop/cop/mixin/unused_argument.rb +4 -6
- data/lib/rubocop/cop/naming/accessor_method_name.rb +4 -2
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +3 -3
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +2 -2
- data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +2 -2
- data/lib/rubocop/cop/naming/constant_name.rb +2 -2
- data/lib/rubocop/cop/naming/file_name.rb +4 -4
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +2 -2
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +2 -2
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -2
- data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +3 -5
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +12 -11
- data/lib/rubocop/cop/offense.rb +1 -0
- data/lib/rubocop/cop/registry.rb +3 -3
- data/lib/rubocop/cop/security/eval.rb +3 -2
- data/lib/rubocop/cop/security/json_load.rb +7 -8
- data/lib/rubocop/cop/security/marshal_load.rb +3 -4
- data/lib/rubocop/cop/security/open.rb +3 -2
- data/lib/rubocop/cop/security/yaml_load.rb +7 -6
- data/lib/rubocop/cop/severity.rb +0 -8
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +7 -8
- data/lib/rubocop/cop/style/accessor_grouping.rb +29 -20
- data/lib/rubocop/cop/style/alias.rb +43 -36
- data/lib/rubocop/cop/style/and_or.rb +9 -11
- data/lib/rubocop/cop/style/array_coercion.rb +63 -0
- data/lib/rubocop/cop/style/array_join.rb +7 -8
- data/lib/rubocop/cop/style/ascii_comments.rb +4 -4
- data/lib/rubocop/cop/style/attr.rb +12 -9
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +7 -7
- data/lib/rubocop/cop/style/bare_percent_literals.rb +10 -12
- data/lib/rubocop/cop/style/begin_block.rb +2 -2
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +14 -18
- data/lib/rubocop/cop/style/block_comments.rb +14 -18
- data/lib/rubocop/cop/style/block_delimiters.rb +23 -23
- data/lib/rubocop/cop/style/case_equality.rb +32 -5
- data/lib/rubocop/cop/style/case_like_if.rb +236 -0
- data/lib/rubocop/cop/style/class_and_module_children.rb +16 -11
- data/lib/rubocop/cop/style/class_check.rb +6 -11
- data/lib/rubocop/cop/style/class_methods.rb +7 -11
- data/lib/rubocop/cop/style/class_methods_definitions.rb +157 -0
- data/lib/rubocop/cop/style/class_vars.rb +7 -12
- data/lib/rubocop/cop/style/collection_methods.rb +11 -17
- data/lib/rubocop/cop/style/colon_method_call.rb +8 -9
- data/lib/rubocop/cop/style/colon_method_definition.rb +6 -6
- data/lib/rubocop/cop/style/combinable_loops.rb +89 -0
- data/lib/rubocop/cop/style/command_literal.rb +23 -24
- data/lib/rubocop/cop/style/comment_annotation.rb +15 -15
- data/lib/rubocop/cop/style/commented_keyword.rb +6 -3
- data/lib/rubocop/cop/style/conditional_assignment.rb +62 -64
- data/lib/rubocop/cop/style/constant_visibility.rb +3 -2
- data/lib/rubocop/cop/style/copyright.rb +12 -12
- data/lib/rubocop/cop/style/date_time.rb +1 -1
- data/lib/rubocop/cop/style/def_with_parentheses.rb +8 -10
- data/lib/rubocop/cop/style/dir.rb +8 -10
- data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +7 -9
- data/lib/rubocop/cop/style/documentation.rb +6 -8
- data/lib/rubocop/cop/style/documentation_method.rb +1 -1
- data/lib/rubocop/cop/style/double_cop_disable_directive.rb +12 -15
- data/lib/rubocop/cop/style/double_negation.rb +3 -2
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +5 -8
- data/lib/rubocop/cop/style/each_with_object.rb +16 -19
- data/lib/rubocop/cop/style/empty_block_parameter.rb +9 -10
- data/lib/rubocop/cop/style/empty_case_condition.rb +19 -20
- data/lib/rubocop/cop/style/empty_else.rb +17 -19
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +9 -10
- data/lib/rubocop/cop/style/empty_literal.rb +18 -17
- data/lib/rubocop/cop/style/empty_method.rb +10 -13
- data/lib/rubocop/cop/style/encoding.rb +5 -9
- data/lib/rubocop/cop/style/end_block.rb +4 -6
- data/lib/rubocop/cop/style/eval_with_location.rb +7 -7
- data/lib/rubocop/cop/style/even_odd.rb +8 -11
- data/lib/rubocop/cop/style/expand_path_arguments.rb +22 -21
- data/lib/rubocop/cop/style/explicit_block_argument.rb +102 -0
- data/lib/rubocop/cop/style/exponential_notation.rb +7 -9
- data/lib/rubocop/cop/style/float_division.rb +10 -11
- data/lib/rubocop/cop/style/for.rb +11 -15
- data/lib/rubocop/cop/style/format_string.rb +18 -19
- data/lib/rubocop/cop/style/format_string_token.rb +10 -12
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +19 -41
- data/lib/rubocop/cop/style/global_std_stream.rb +65 -0
- data/lib/rubocop/cop/style/global_vars.rb +2 -2
- data/lib/rubocop/cop/style/guard_clause.rb +6 -6
- data/lib/rubocop/cop/style/hash_as_last_array_item.rb +79 -0
- data/lib/rubocop/cop/style/hash_each_methods.rb +5 -8
- data/lib/rubocop/cop/style/hash_like_case.rb +76 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +10 -8
- data/lib/rubocop/cop/style/hash_transform_keys.rb +19 -11
- data/lib/rubocop/cop/style/hash_transform_values.rb +18 -10
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +2 -2
- data/lib/rubocop/cop/style/if_inside_else.rb +3 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +19 -41
- data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +3 -7
- data/lib/rubocop/cop/style/if_with_semicolon.rb +3 -6
- data/lib/rubocop/cop/style/implicit_runtime_error.rb +2 -1
- data/lib/rubocop/cop/style/infinite_loop.rb +24 -24
- data/lib/rubocop/cop/style/inline_comment.rb +3 -3
- data/lib/rubocop/cop/style/inverse_methods.rb +22 -32
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +58 -0
- data/lib/rubocop/cop/style/lambda.rb +7 -12
- data/lib/rubocop/cop/style/lambda_call.rb +17 -14
- data/lib/rubocop/cop/style/line_end_concatenation.rb +19 -16
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +2 -1
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +16 -11
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +4 -8
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +8 -7
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +12 -3
- data/lib/rubocop/cop/style/method_def_parentheses.rb +11 -16
- data/lib/rubocop/cop/style/min_max.rb +8 -12
- data/lib/rubocop/cop/style/missing_else.rb +11 -21
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +10 -3
- data/lib/rubocop/cop/style/mixin_grouping.rb +24 -27
- data/lib/rubocop/cop/style/mixin_usage.rb +2 -1
- data/lib/rubocop/cop/style/module_function.rb +10 -13
- data/lib/rubocop/cop/style/multiline_if_modifier.rb +3 -10
- data/lib/rubocop/cop/style/multiline_if_then.rb +4 -10
- data/lib/rubocop/cop/style/multiline_memoization.rb +14 -12
- data/lib/rubocop/cop/style/multiline_method_signature.rb +2 -2
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +17 -6
- data/lib/rubocop/cop/style/multiline_when_then.rb +9 -11
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +23 -20
- data/lib/rubocop/cop/style/negated_if.rb +6 -6
- data/lib/rubocop/cop/style/negated_unless.rb +6 -6
- data/lib/rubocop/cop/style/negated_while.rb +7 -15
- data/lib/rubocop/cop/style/nested_modifier.rb +10 -13
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +14 -12
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +14 -16
- data/lib/rubocop/cop/style/next.rb +10 -14
- data/lib/rubocop/cop/style/nil_comparison.rb +13 -11
- data/lib/rubocop/cop/style/non_nil_check.rb +34 -26
- data/lib/rubocop/cop/style/not.rb +20 -26
- data/lib/rubocop/cop/style/numeric_literal_prefix.rb +4 -9
- data/lib/rubocop/cop/style/numeric_predicate.rb +9 -15
- data/lib/rubocop/cop/style/one_line_conditional.rb +71 -23
- data/lib/rubocop/cop/style/option_hash.rb +1 -1
- data/lib/rubocop/cop/style/optional_arguments.rb +1 -1
- data/lib/rubocop/cop/style/optional_boolean_parameter.rb +42 -0
- data/lib/rubocop/cop/style/or_assignment.rb +13 -10
- data/lib/rubocop/cop/style/parallel_assignment.rb +18 -18
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +6 -6
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +14 -20
- data/lib/rubocop/cop/style/percent_q_literals.rb +8 -10
- data/lib/rubocop/cop/style/perl_backrefs.rb +8 -10
- data/lib/rubocop/cop/style/preferred_hash_methods.rb +11 -14
- data/lib/rubocop/cop/style/proc.rb +6 -6
- data/lib/rubocop/cop/style/raise_args.rb +15 -24
- data/lib/rubocop/cop/style/random_with_offset.rb +17 -16
- data/lib/rubocop/cop/style/redundant_assignment.rb +8 -10
- data/lib/rubocop/cop/style/redundant_begin.rb +7 -9
- data/lib/rubocop/cop/style/redundant_capital_w.rb +6 -9
- data/lib/rubocop/cop/style/redundant_condition.rb +20 -9
- data/lib/rubocop/cop/style/redundant_exception.rb +2 -0
- data/lib/rubocop/cop/style/redundant_fetch_block.rb +3 -12
- data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +51 -0
- data/lib/rubocop/cop/style/redundant_freeze.rb +5 -7
- data/lib/rubocop/cop/style/redundant_interpolation.rb +25 -24
- data/lib/rubocop/cop/style/redundant_parentheses.rb +19 -12
- data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +6 -13
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +14 -23
- data/lib/rubocop/cop/style/redundant_self.rb +2 -2
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +116 -0
- data/lib/rubocop/cop/style/redundant_sort.rb +21 -13
- data/lib/rubocop/cop/style/regexp_literal.rb +10 -21
- data/lib/rubocop/cop/style/rescue_modifier.rb +29 -9
- data/lib/rubocop/cop/style/return_nil.rb +5 -5
- data/lib/rubocop/cop/style/safe_navigation.rb +22 -16
- data/lib/rubocop/cop/style/sample.rb +12 -14
- data/lib/rubocop/cop/style/self_assignment.rb +26 -22
- data/lib/rubocop/cop/style/semicolon.rb +6 -9
- data/lib/rubocop/cop/style/send.rb +4 -5
- data/lib/rubocop/cop/style/signal_exception.rb +25 -19
- data/lib/rubocop/cop/style/single_argument_dig.rb +55 -0
- data/lib/rubocop/cop/style/single_line_block_params.rb +4 -2
- data/lib/rubocop/cop/style/single_line_methods.rb +18 -17
- data/lib/rubocop/cop/style/slicing_with_range.rb +6 -8
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +66 -0
- data/lib/rubocop/cop/style/special_global_vars.rb +10 -15
- data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +17 -20
- data/lib/rubocop/cop/style/stderr_puts.rb +5 -6
- data/lib/rubocop/cop/style/string_concatenation.rb +106 -0
- data/lib/rubocop/cop/style/string_hash_keys.rb +6 -7
- data/lib/rubocop/cop/style/string_methods.rb +7 -17
- data/lib/rubocop/cop/style/strip.rb +9 -14
- data/lib/rubocop/cop/style/struct_inheritance.rb +4 -7
- data/lib/rubocop/cop/style/symbol_array.rb +6 -17
- data/lib/rubocop/cop/style/symbol_literal.rb +4 -6
- data/lib/rubocop/cop/style/symbol_proc.rb +15 -19
- data/lib/rubocop/cop/style/ternary_parentheses.rb +21 -20
- data/lib/rubocop/cop/style/trailing_body_on_class.rb +3 -6
- data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +4 -7
- data/lib/rubocop/cop/style/trailing_body_on_module.rb +3 -6
- data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +2 -5
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +2 -5
- data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +7 -6
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +2 -5
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +9 -32
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +8 -17
- data/lib/rubocop/cop/style/trivial_accessors.rb +26 -30
- data/lib/rubocop/cop/style/unless_else.rb +5 -8
- data/lib/rubocop/cop/style/unpack_first.rb +5 -8
- data/lib/rubocop/cop/style/variable_interpolation.rb +7 -10
- data/lib/rubocop/cop/style/when_then.rb +4 -6
- data/lib/rubocop/cop/style/while_until_do.rb +6 -16
- data/lib/rubocop/cop/style/while_until_modifier.rb +6 -20
- data/lib/rubocop/cop/style/word_array.rb +5 -23
- data/lib/rubocop/cop/style/yoda_condition.rb +4 -15
- data/lib/rubocop/cop/style/zero_length_predicate.rb +17 -19
- data/lib/rubocop/cop/team.rb +2 -1
- data/lib/rubocop/cop/tokens_util.rb +84 -0
- data/lib/rubocop/cop/util.rb +3 -13
- data/lib/rubocop/cop/utils/format_string.rb +3 -5
- data/lib/rubocop/cop/variable_force.rb +2 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -0
- data/lib/rubocop/cop/variable_force/variable.rb +7 -5
- data/lib/rubocop/cops_documentation_generator.rb +284 -0
- data/lib/rubocop/core_ext/string.rb +2 -2
- data/lib/rubocop/error.rb +1 -0
- data/lib/rubocop/ext/regexp_node.rb +46 -0
- data/lib/rubocop/file_finder.rb +13 -12
- data/lib/rubocop/formatter/auto_gen_config_formatter.rb +2 -1
- data/lib/rubocop/formatter/disabled_config_formatter.rb +1 -1
- data/lib/rubocop/formatter/formatter_set.rb +1 -0
- data/lib/rubocop/formatter/html_formatter.rb +2 -0
- data/lib/rubocop/formatter/junit_formatter.rb +1 -1
- data/lib/rubocop/formatter/progress_formatter.rb +2 -1
- data/lib/rubocop/formatter/quiet_formatter.rb +1 -1
- data/lib/rubocop/formatter/simple_text_formatter.rb +36 -6
- data/lib/rubocop/name_similarity.rb +1 -0
- data/lib/rubocop/options.rb +25 -4
- data/lib/rubocop/path_util.rb +17 -17
- data/lib/rubocop/rake_task.rb +1 -0
- data/lib/rubocop/remote_config.rb +1 -0
- data/lib/rubocop/result_cache.rb +37 -15
- data/lib/rubocop/rspec/cop_helper.rb +4 -1
- data/lib/rubocop/rspec/expect_offense.rb +37 -6
- data/lib/rubocop/rspec/shared_contexts.rb +25 -14
- data/lib/rubocop/runner.rb +36 -21
- data/lib/rubocop/string_interpreter.rb +3 -0
- data/lib/rubocop/target_finder.rb +14 -10
- data/lib/rubocop/target_ruby.rb +6 -0
- data/lib/rubocop/version.rb +3 -2
- data/lib/rubocop/yaml_duplication_checker.rb +1 -0
- metadata +45 -8
- data/lib/rubocop/cop/lint/useless_comparison.rb +0 -28
- data/lib/rubocop/cop/mixin/parser_diagnostic.rb +0 -37
- data/lib/rubocop/cop/mixin/too_many_lines.rb +0 -25
- data/lib/rubocop/cop/style/method_missing_super.rb +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e27cb6b7c6fcded0825904076fe0d1f5bdc7f3dd6d7391e1b3b09900f276eda
|
4
|
+
data.tar.gz: df22bf3745be7f53ec2c96a0c00f9d467bed247123d929a19938bb15b62b4a1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29e908f8706eedf177e93d909e744f310a57cfdbfb75d1071b4cddfeb3bd4e480ca7d654ec442ceac848b917cc75eebc500321740f8e68c59356e3b99a349b00
|
7
|
+
data.tar.gz: 4857c9ba3dec5f0c163e63101d630a543ba8a3d3b6a2d2b6237dca2e0072fbc6885222130957617ade1ae98f9a0e2ca624164f10d3fd146aa96270c777dbfc03
|
data/README.md
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
**RuboCop** is a Ruby static code analyzer (a.k.a. `linter`) and code formatter. Out of the box it
|
23
23
|
will enforce many of the guidelines outlined in the community [Ruby Style
|
24
24
|
Guide](https://rubystyle.guide). Apart from reporting the problems discovered in your code,
|
25
|
-
RuboCop can also automatically fix many of them you.
|
25
|
+
RuboCop can also automatically fix many of them for you.
|
26
26
|
|
27
27
|
RuboCop is extremely flexible and most aspects of its behavior can be tweaked via various
|
28
28
|
[configuration options](https://github.com/rubocop-hq/rubocop/blob/master/config/default.yml).
|
@@ -49,7 +49,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you
|
|
49
49
|
might want to use a conservative version lock in your `Gemfile`:
|
50
50
|
|
51
51
|
```rb
|
52
|
-
gem 'rubocop', '~> 0.
|
52
|
+
gem 'rubocop', '~> 0.91.0', require: false
|
53
53
|
```
|
54
54
|
|
55
55
|
## Quickstart
|
data/bin/rubocop-profile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
if ARGV.include?('-h') || ARGV.include?('--help')
|
5
|
+
puts "Usage: same as main `rubocop` command but gathers profiling info"
|
6
|
+
puts "Additional option: `--memory` to print memory usage"
|
7
|
+
exit(0)
|
8
|
+
end
|
9
|
+
with_mem = ARGV.delete('--memory')
|
10
|
+
ARGV.unshift '--cache', 'false' unless ARGV.include?('--cache')
|
11
|
+
|
12
|
+
require 'stackprof'
|
13
|
+
if with_mem
|
14
|
+
require 'memory_profiler'
|
15
|
+
MemoryProfiler.start
|
16
|
+
end
|
17
|
+
StackProf.start
|
18
|
+
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
19
|
+
begin
|
20
|
+
load "#{__dir__}/../exe/rubocop"
|
21
|
+
ensure
|
22
|
+
delta = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
|
23
|
+
puts "Finished in #{delta.round(1)} seconds"
|
24
|
+
StackProf.stop
|
25
|
+
if with_mem
|
26
|
+
puts "Building memory report..."
|
27
|
+
report = MemoryProfiler.stop
|
28
|
+
end
|
29
|
+
Dir.mkdir('tmp') unless File.exist?('tmp')
|
30
|
+
StackProf.results('tmp/stackprof.dump')
|
31
|
+
report&.pretty_print(scale_bytes: true)
|
32
|
+
end
|
data/config/default.yml
CHANGED
@@ -117,6 +117,8 @@ AllCops:
|
|
117
117
|
# CacheRootDirectory is ~ (nil), which it is by default, the root will be
|
118
118
|
# taken from the environment variable `$XDG_CACHE_HOME` if it is set, or if
|
119
119
|
# `$XDG_CACHE_HOME` is not set, it will be `$HOME/.cache/`.
|
120
|
+
# The CacheRootDirectory can be overwritten by passing the `--cache-root` command
|
121
|
+
# line option or by setting `$RUBOCOP_CACHE_ROOT` environment variable.
|
120
122
|
CacheRootDirectory: ~
|
121
123
|
# It is possible for a malicious user to know the location of RuboCop's cache
|
122
124
|
# directory by looking at CacheRootDirectory, and create a symlink in its
|
@@ -210,9 +212,10 @@ Gemspec/OrderedDependencies:
|
|
210
212
|
- '**/*.gemspec'
|
211
213
|
|
212
214
|
Gemspec/RequiredRubyVersion:
|
213
|
-
Description: 'Checks that `required_ruby_version` of gemspec and `TargetRubyVersion` of .rubocop.yml
|
215
|
+
Description: 'Checks that `required_ruby_version` of gemspec is specified and equal to `TargetRubyVersion` of .rubocop.yml.'
|
214
216
|
Enabled: true
|
215
217
|
VersionAdded: '0.52'
|
218
|
+
VersionChanged: '0.89'
|
216
219
|
Include:
|
217
220
|
- '**/*.gemspec'
|
218
221
|
|
@@ -308,6 +311,19 @@ Layout/AssignmentIndentation:
|
|
308
311
|
# But it can be overridden by setting this parameter
|
309
312
|
IndentationWidth: ~
|
310
313
|
|
314
|
+
Layout/BeginEndAlignment:
|
315
|
+
Description: 'Align ends corresponding to begins correctly.'
|
316
|
+
Enabled: pending
|
317
|
+
VersionAdded: '0.91'
|
318
|
+
# The value `start_of_line` means that `end` should be aligned the start of the line
|
319
|
+
# where the `begin` keyword is.
|
320
|
+
# The value `begin` means that `end` should be aligned with the `begin` keyword.
|
321
|
+
EnforcedStyleAlignWith: start_of_line
|
322
|
+
SupportedStylesAlignWith:
|
323
|
+
- start_of_line
|
324
|
+
- begin
|
325
|
+
Severity: warning
|
326
|
+
|
311
327
|
Layout/BlockAlignment:
|
312
328
|
Description: 'Align block ends correctly.'
|
313
329
|
Enabled: true
|
@@ -398,7 +414,6 @@ Layout/DefEndAlignment:
|
|
398
414
|
SupportedStylesAlignWith:
|
399
415
|
- start_of_line
|
400
416
|
- def
|
401
|
-
AutoCorrect: false
|
402
417
|
Severity: warning
|
403
418
|
|
404
419
|
Layout/DotPosition:
|
@@ -435,6 +450,14 @@ Layout/EmptyLineAfterMagicComment:
|
|
435
450
|
Enabled: true
|
436
451
|
VersionAdded: '0.49'
|
437
452
|
|
453
|
+
Layout/EmptyLineAfterMultilineCondition:
|
454
|
+
Description: 'Enforces empty line after multiline condition.'
|
455
|
+
# This is disabled, because this style is not very common in practice.
|
456
|
+
Enabled: false
|
457
|
+
VersionAdded: '0.90'
|
458
|
+
Reference:
|
459
|
+
- https://github.com/airbnb/ruby#multiline-if-newline
|
460
|
+
|
438
461
|
Layout/EmptyLineBetweenDefs:
|
439
462
|
Description: 'Use empty lines between defs.'
|
440
463
|
StyleGuide: '#empty-lines-between-methods'
|
@@ -554,7 +577,6 @@ Layout/EndAlignment:
|
|
554
577
|
- keyword
|
555
578
|
- variable
|
556
579
|
- start_of_line
|
557
|
-
AutoCorrect: false
|
558
580
|
Severity: warning
|
559
581
|
|
560
582
|
Layout/EndOfLine:
|
@@ -1234,7 +1256,7 @@ Layout/SpaceInsideBlockBraces:
|
|
1234
1256
|
|
1235
1257
|
Layout/SpaceInsideHashLiteralBraces:
|
1236
1258
|
Description: "Use spaces inside hash literal braces - or don't."
|
1237
|
-
StyleGuide: '#spaces-
|
1259
|
+
StyleGuide: '#spaces-braces'
|
1238
1260
|
Enabled: true
|
1239
1261
|
VersionAdded: '0.49'
|
1240
1262
|
EnforcedStyle: space
|
@@ -1355,6 +1377,12 @@ Lint/BigDecimalNew:
|
|
1355
1377
|
Enabled: true
|
1356
1378
|
VersionAdded: '0.53'
|
1357
1379
|
|
1380
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
1381
|
+
Description: 'This cop checks for places where binary operator has identical operands.'
|
1382
|
+
Enabled: pending
|
1383
|
+
Safe: false
|
1384
|
+
VersionAdded: '0.89'
|
1385
|
+
|
1358
1386
|
Lint/BooleanSymbol:
|
1359
1387
|
Description: 'Check for `:true` and `:false` symbols.'
|
1360
1388
|
Enabled: true
|
@@ -1367,6 +1395,12 @@ Lint/CircularArgumentReference:
|
|
1367
1395
|
Enabled: true
|
1368
1396
|
VersionAdded: '0.33'
|
1369
1397
|
|
1398
|
+
Lint/ConstantDefinitionInBlock:
|
1399
|
+
Description: 'Do not define constants within a block.'
|
1400
|
+
StyleGuide: '#no-constant-definition-in-block'
|
1401
|
+
Enabled: pending
|
1402
|
+
VersionAdded: '0.91'
|
1403
|
+
|
1370
1404
|
Lint/ConstantResolution:
|
1371
1405
|
Description: 'Check that constants are fully qualified with `::`.'
|
1372
1406
|
Enabled: false
|
@@ -1397,12 +1431,18 @@ Lint/DisjunctiveAssignmentInConstructor:
|
|
1397
1431
|
Enabled: true
|
1398
1432
|
Safe: false
|
1399
1433
|
VersionAdded: '0.62'
|
1434
|
+
VersionChanged: '0.88'
|
1400
1435
|
|
1401
1436
|
Lint/DuplicateCaseCondition:
|
1402
1437
|
Description: 'Do not repeat values in case conditionals.'
|
1403
1438
|
Enabled: true
|
1404
1439
|
VersionAdded: '0.45'
|
1405
1440
|
|
1441
|
+
Lint/DuplicateElsifCondition:
|
1442
|
+
Description: 'Do not repeat conditions used in if `elsif`.'
|
1443
|
+
Enabled: 'pending'
|
1444
|
+
VersionAdded: '0.88'
|
1445
|
+
|
1406
1446
|
Lint/DuplicateHashKey:
|
1407
1447
|
Description: 'Check for duplicate keys in hash literals.'
|
1408
1448
|
Enabled: true
|
@@ -1414,6 +1454,16 @@ Lint/DuplicateMethods:
|
|
1414
1454
|
Enabled: true
|
1415
1455
|
VersionAdded: '0.29'
|
1416
1456
|
|
1457
|
+
Lint/DuplicateRequire:
|
1458
|
+
Description: 'Check for duplicate `require`s and `require_relative`s.'
|
1459
|
+
Enabled: pending
|
1460
|
+
VersionAdded: '0.90'
|
1461
|
+
|
1462
|
+
Lint/DuplicateRescueException:
|
1463
|
+
Description: 'Checks that there are no repeated exceptions used in `rescue` expressions.'
|
1464
|
+
Enabled: pending
|
1465
|
+
VersionAdded: '0.89'
|
1466
|
+
|
1417
1467
|
Lint/EachWithObjectArgument:
|
1418
1468
|
Description: 'Check for immutable argument given to each_with_object.'
|
1419
1469
|
Enabled: true
|
@@ -1424,18 +1474,29 @@ Lint/ElseLayout:
|
|
1424
1474
|
Enabled: true
|
1425
1475
|
VersionAdded: '0.17'
|
1426
1476
|
|
1477
|
+
Lint/EmptyConditionalBody:
|
1478
|
+
Description: 'This cop checks for the presence of `if`, `elsif` and `unless` branches without a body.'
|
1479
|
+
Enabled: 'pending'
|
1480
|
+
AllowComments: true
|
1481
|
+
VersionAdded: '0.89'
|
1482
|
+
|
1427
1483
|
Lint/EmptyEnsure:
|
1428
1484
|
Description: 'Checks for empty ensure block.'
|
1429
1485
|
Enabled: true
|
1430
1486
|
VersionAdded: '0.10'
|
1431
1487
|
VersionChanged: '0.48'
|
1432
|
-
AutoCorrect: false
|
1433
1488
|
|
1434
1489
|
Lint/EmptyExpression:
|
1435
1490
|
Description: 'Checks for empty expressions.'
|
1436
1491
|
Enabled: true
|
1437
1492
|
VersionAdded: '0.45'
|
1438
1493
|
|
1494
|
+
Lint/EmptyFile:
|
1495
|
+
Description: 'Enforces that Ruby source files are not empty.'
|
1496
|
+
Enabled: pending
|
1497
|
+
AllowComments: true
|
1498
|
+
VersionAdded: '0.90'
|
1499
|
+
|
1439
1500
|
Lint/EmptyInterpolation:
|
1440
1501
|
Description: 'Checks for empty string interpolation.'
|
1441
1502
|
Enabled: true
|
@@ -1467,6 +1528,12 @@ Lint/FlipFlop:
|
|
1467
1528
|
Enabled: true
|
1468
1529
|
VersionAdded: '0.16'
|
1469
1530
|
|
1531
|
+
Lint/FloatComparison:
|
1532
|
+
Description: 'Checks for the presence of precise comparison of floating point numbers.'
|
1533
|
+
StyleGuide: '#float-comparison'
|
1534
|
+
Enabled: pending
|
1535
|
+
VersionAdded: '0.89'
|
1536
|
+
|
1470
1537
|
Lint/FloatOutOfRange:
|
1471
1538
|
Description: >-
|
1472
1539
|
Catches floating-point literals too large or small for Ruby to
|
@@ -1487,6 +1554,12 @@ Lint/HeredocMethodCallPosition:
|
|
1487
1554
|
StyleGuide: '#heredoc-method-calls'
|
1488
1555
|
VersionAdded: '0.68'
|
1489
1556
|
|
1557
|
+
Lint/IdentityComparison:
|
1558
|
+
Description: 'Prefer `equal?` over `==` when comparing `object_id`.'
|
1559
|
+
Enabled: pending
|
1560
|
+
StyleGuide: '#identity-comparison'
|
1561
|
+
VersionAdded: '0.91'
|
1562
|
+
|
1490
1563
|
Lint/ImplicitStringConcatenation:
|
1491
1564
|
Description: >-
|
1492
1565
|
Checks for adjacent string literals on the same line, which
|
@@ -1514,7 +1587,7 @@ Lint/InheritException:
|
|
1514
1587
|
Lint/InterpolationCheck:
|
1515
1588
|
Description: 'Raise warning for interpolation in single q strs.'
|
1516
1589
|
Enabled: true
|
1517
|
-
|
1590
|
+
Safe: false
|
1518
1591
|
VersionAdded: '0.50'
|
1519
1592
|
VersionChanged: '0.87'
|
1520
1593
|
|
@@ -1536,6 +1609,7 @@ Lint/Loop:
|
|
1536
1609
|
StyleGuide: '#loop-with-break'
|
1537
1610
|
Enabled: true
|
1538
1611
|
VersionAdded: '0.9'
|
1612
|
+
VersionChanged: '0.89'
|
1539
1613
|
|
1540
1614
|
Lint/MissingCopEnableDirective:
|
1541
1615
|
Description: 'Checks for a `# rubocop:enable` after `# rubocop:disable`.'
|
@@ -1550,6 +1624,13 @@ Lint/MissingCopEnableDirective:
|
|
1550
1624
|
# .inf for any size
|
1551
1625
|
MaximumRangeSize: .inf
|
1552
1626
|
|
1627
|
+
Lint/MissingSuper:
|
1628
|
+
Description: >-
|
1629
|
+
This cop checks for the presence of constructors and lifecycle callbacks
|
1630
|
+
without calls to `super`'.
|
1631
|
+
Enabled: pending
|
1632
|
+
VersionAdded: '0.89'
|
1633
|
+
|
1553
1634
|
Lint/MixedRegexpCaptureTypes:
|
1554
1635
|
Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
|
1555
1636
|
Enabled: pending
|
@@ -1602,6 +1683,12 @@ Lint/OrderedMagicComments:
|
|
1602
1683
|
Enabled: true
|
1603
1684
|
VersionAdded: '0.53'
|
1604
1685
|
|
1686
|
+
Lint/OutOfRangeRegexpRef:
|
1687
|
+
Description: 'Checks for out of range reference for Regexp because it always returns nil.'
|
1688
|
+
Enabled: pending
|
1689
|
+
Safe: false
|
1690
|
+
VersionAdded: '0.89'
|
1691
|
+
|
1605
1692
|
Lint/ParenthesesAsGroupedExpression:
|
1606
1693
|
Description: >-
|
1607
1694
|
Checks for method calls with a space before the opening
|
@@ -1724,6 +1811,7 @@ Lint/SafeNavigationChain:
|
|
1724
1811
|
- presence
|
1725
1812
|
- try
|
1726
1813
|
- try!
|
1814
|
+
- in?
|
1727
1815
|
|
1728
1816
|
Lint/SafeNavigationConsistency:
|
1729
1817
|
Description: >-
|
@@ -1752,6 +1840,11 @@ Lint/ScriptPermission:
|
|
1752
1840
|
VersionAdded: '0.49'
|
1753
1841
|
VersionChanged: '0.50'
|
1754
1842
|
|
1843
|
+
Lint/SelfAssignment:
|
1844
|
+
Description: 'Checks for self-assignments.'
|
1845
|
+
Enabled: pending
|
1846
|
+
VersionAdded: '0.89'
|
1847
|
+
|
1755
1848
|
Lint/SendWithMixinArgument:
|
1756
1849
|
Description: 'Checks for `send` method when using mixin.'
|
1757
1850
|
Enabled: true
|
@@ -1802,6 +1895,16 @@ Lint/ToJSON:
|
|
1802
1895
|
Enabled: true
|
1803
1896
|
VersionAdded: '0.66'
|
1804
1897
|
|
1898
|
+
Lint/TopLevelReturnWithArgument:
|
1899
|
+
Description: 'This cop detects top level return statements with argument.'
|
1900
|
+
Enabled: 'pending'
|
1901
|
+
VersionAdded: '0.89'
|
1902
|
+
|
1903
|
+
Lint/TrailingCommaInAttributeDeclaration:
|
1904
|
+
Description: 'This cop checks for trailing commas in attribute declarations.'
|
1905
|
+
Enabled: pending
|
1906
|
+
VersionAdded: '0.90'
|
1907
|
+
|
1805
1908
|
Lint/UnderscorePrefixedVariableName:
|
1806
1909
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
1807
1910
|
Enabled: true
|
@@ -1818,6 +1921,11 @@ Lint/UnreachableCode:
|
|
1818
1921
|
Enabled: true
|
1819
1922
|
VersionAdded: '0.9'
|
1820
1923
|
|
1924
|
+
Lint/UnreachableLoop:
|
1925
|
+
Description: 'This cop checks for loops that will have at most one iteration.'
|
1926
|
+
Enabled: pending
|
1927
|
+
VersionAdded: '0.89'
|
1928
|
+
|
1821
1929
|
Lint/UnusedBlockArgument:
|
1822
1930
|
Description: 'Checks for unused block arguments.'
|
1823
1931
|
StyleGuide: '#underscore-unused-vars'
|
@@ -1867,16 +1975,18 @@ Lint/UselessAssignment:
|
|
1867
1975
|
Enabled: true
|
1868
1976
|
VersionAdded: '0.11'
|
1869
1977
|
|
1870
|
-
Lint/UselessComparison:
|
1871
|
-
Description: 'Checks for comparison of something with itself.'
|
1872
|
-
Enabled: true
|
1873
|
-
VersionAdded: '0.11'
|
1874
|
-
|
1875
1978
|
Lint/UselessElseWithoutRescue:
|
1876
1979
|
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
1877
1980
|
Enabled: true
|
1878
1981
|
VersionAdded: '0.17'
|
1879
1982
|
|
1983
|
+
Lint/UselessMethodDefinition:
|
1984
|
+
Description: 'Checks for useless method definitions.'
|
1985
|
+
Enabled: pending
|
1986
|
+
VersionAdded: '0.90'
|
1987
|
+
Safe: false
|
1988
|
+
AllowComments: true
|
1989
|
+
|
1880
1990
|
Lint/UselessSetterCall:
|
1881
1991
|
Description: 'Checks for useless setter call to a local variable.'
|
1882
1992
|
Enabled: true
|
@@ -1884,6 +1994,12 @@ Lint/UselessSetterCall:
|
|
1884
1994
|
VersionChanged: '0.80'
|
1885
1995
|
Safe: false
|
1886
1996
|
|
1997
|
+
Lint/UselessTimes:
|
1998
|
+
Description: 'Checks for useless `Integer#times` calls.'
|
1999
|
+
Enabled: pending
|
2000
|
+
VersionAdded: '0.91'
|
2001
|
+
Safe: false
|
2002
|
+
|
1887
2003
|
Lint/Void:
|
1888
2004
|
Description: 'Possible use of operator/literal/variable in void context.'
|
1889
2005
|
Enabled: true
|
@@ -1905,7 +2021,7 @@ Metrics/AbcSize:
|
|
1905
2021
|
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
1906
2022
|
# a Float.
|
1907
2023
|
IgnoredMethods: []
|
1908
|
-
Max:
|
2024
|
+
Max: 17
|
1909
2025
|
|
1910
2026
|
Metrics/BlockLength:
|
1911
2027
|
Description: 'Avoid long blocks with many lines.'
|
@@ -1987,7 +2103,7 @@ Metrics/PerceivedComplexity:
|
|
1987
2103
|
VersionAdded: '0.25'
|
1988
2104
|
VersionChanged: '0.81'
|
1989
2105
|
IgnoredMethods: []
|
1990
|
-
Max:
|
2106
|
+
Max: 8
|
1991
2107
|
|
1992
2108
|
################## Migration #############################
|
1993
2109
|
|
@@ -2179,17 +2295,18 @@ Naming/MethodParameterName:
|
|
2179
2295
|
AllowNamesEndingInNumbers: true
|
2180
2296
|
# Allowed names that will not register an offense
|
2181
2297
|
AllowedNames:
|
2182
|
-
-
|
2183
|
-
- id
|
2184
|
-
- to
|
2298
|
+
- at
|
2185
2299
|
- by
|
2186
|
-
-
|
2300
|
+
- db
|
2301
|
+
- id
|
2187
2302
|
- in
|
2188
|
-
-
|
2303
|
+
- io
|
2189
2304
|
- ip
|
2190
|
-
-
|
2305
|
+
- of
|
2306
|
+
- 'on'
|
2191
2307
|
- os
|
2192
2308
|
- pp
|
2309
|
+
- to
|
2193
2310
|
# Forbidden names that will register an offense
|
2194
2311
|
ForbiddenNames: []
|
2195
2312
|
|
@@ -2340,6 +2457,15 @@ Style/AndOr:
|
|
2340
2457
|
- always
|
2341
2458
|
- conditionals
|
2342
2459
|
|
2460
|
+
Style/ArrayCoercion:
|
2461
|
+
Description: >-
|
2462
|
+
Use Array() instead of explicit Array check or [*var], when dealing
|
2463
|
+
with a variable you want to treat as an Array, but you're not certain it's an array.
|
2464
|
+
StyleGuide: '#array-coercion'
|
2465
|
+
Safe: false
|
2466
|
+
Enabled: 'pending'
|
2467
|
+
VersionAdded: '0.88'
|
2468
|
+
|
2343
2469
|
Style/ArrayJoin:
|
2344
2470
|
Description: 'Use Array#join instead of Array#*.'
|
2345
2471
|
StyleGuide: '#array-join'
|
@@ -2512,6 +2638,7 @@ Style/CaseEquality:
|
|
2512
2638
|
StyleGuide: '#no-case-equality'
|
2513
2639
|
Enabled: true
|
2514
2640
|
VersionAdded: '0.9'
|
2641
|
+
VersionChanged: '0.89'
|
2515
2642
|
# If AllowOnConstant is enabled, the cop will ignore violations when the receiver of
|
2516
2643
|
# the case equality operator is a constant.
|
2517
2644
|
#
|
@@ -2522,6 +2649,13 @@ Style/CaseEquality:
|
|
2522
2649
|
# String === "string"
|
2523
2650
|
AllowOnConstant: false
|
2524
2651
|
|
2652
|
+
Style/CaseLikeIf:
|
2653
|
+
Description: 'This cop identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
2654
|
+
StyleGuide: '#case-vs-if-else'
|
2655
|
+
Enabled: 'pending'
|
2656
|
+
Safe: false
|
2657
|
+
VersionAdded: '0.88'
|
2658
|
+
|
2525
2659
|
Style/CharacterLiteral:
|
2526
2660
|
Description: 'Checks for uses of character literals.'
|
2527
2661
|
StyleGuide: '#no-character-literals'
|
@@ -2537,7 +2671,6 @@ Style/ClassAndModuleChildren:
|
|
2537
2671
|
# have the knowledge to perform either operation safely and thus requires
|
2538
2672
|
# manual oversight.
|
2539
2673
|
SafeAutoCorrect: false
|
2540
|
-
AutoCorrect: false
|
2541
2674
|
Enabled: true
|
2542
2675
|
VersionAdded: '0.19'
|
2543
2676
|
#
|
@@ -2576,6 +2709,16 @@ Style/ClassMethods:
|
|
2576
2709
|
VersionAdded: '0.9'
|
2577
2710
|
VersionChanged: '0.20'
|
2578
2711
|
|
2712
|
+
Style/ClassMethodsDefinitions:
|
2713
|
+
Description: 'Enforces using `def self.method_name` or `class << self` to define class methods.'
|
2714
|
+
StyleGuide: '#def-self-class-methods'
|
2715
|
+
Enabled: false
|
2716
|
+
VersionAdded: '0.89'
|
2717
|
+
EnforcedStyle: def_self
|
2718
|
+
SupportedStyles:
|
2719
|
+
- def_self
|
2720
|
+
- self_class
|
2721
|
+
|
2579
2722
|
Style/ClassVars:
|
2580
2723
|
Description: 'Avoid the use of class variables.'
|
2581
2724
|
StyleGuide: '#no-class-vars'
|
@@ -2616,6 +2759,14 @@ Style/ColonMethodDefinition:
|
|
2616
2759
|
Enabled: true
|
2617
2760
|
VersionAdded: '0.52'
|
2618
2761
|
|
2762
|
+
Style/CombinableLoops:
|
2763
|
+
Description: >-
|
2764
|
+
Checks for places where multiple consecutive loops over the same data
|
2765
|
+
can be combined into a single loop.
|
2766
|
+
Enabled: pending
|
2767
|
+
Safe: false
|
2768
|
+
VersionAdded: '0.90'
|
2769
|
+
|
2619
2770
|
Style/CommandLiteral:
|
2620
2771
|
Description: 'Use `` or %x around command literals.'
|
2621
2772
|
StyleGuide: '#percent-x'
|
@@ -2859,6 +3010,16 @@ Style/ExpandPathArguments:
|
|
2859
3010
|
Enabled: true
|
2860
3011
|
VersionAdded: '0.53'
|
2861
3012
|
|
3013
|
+
Style/ExplicitBlockArgument:
|
3014
|
+
Description: >-
|
3015
|
+
Consider using explicit block argument to avoid writing block literal
|
3016
|
+
that just passes its arguments to another block.
|
3017
|
+
StyleGuide: '#block-argument'
|
3018
|
+
Enabled: pending
|
3019
|
+
# May change the yielding arity.
|
3020
|
+
Safe: false
|
3021
|
+
VersionAdded: '0.89'
|
3022
|
+
|
2862
3023
|
Style/ExponentialNotation:
|
2863
3024
|
Description: 'When using exponential notation, favor a mantissa between 1 (inclusive) and 10 (exclusive).'
|
2864
3025
|
StyleGuide: '#exponential-notation'
|
@@ -2940,7 +3101,14 @@ Style/FrozenStringLiteralComment:
|
|
2940
3101
|
# `never` will enforce that the frozen string literal comment does not
|
2941
3102
|
# exist in a file.
|
2942
3103
|
- never
|
2943
|
-
|
3104
|
+
SafeAutoCorrect: false
|
3105
|
+
|
3106
|
+
Style/GlobalStdStream:
|
3107
|
+
Description: 'Enforces the use of `$stdout/$stderr/$stdin` instead of `STDOUT/STDERR/STDIN`.'
|
3108
|
+
StyleGuide: '#global-stdout'
|
3109
|
+
Enabled: pending
|
3110
|
+
VersionAdded: '0.89'
|
3111
|
+
SafeAutoCorrect: false
|
2944
3112
|
|
2945
3113
|
Style/GlobalVars:
|
2946
3114
|
Description: 'Do not introduce global variables.'
|
@@ -2961,6 +3129,18 @@ Style/GuardClause:
|
|
2961
3129
|
# needs to have to trigger this cop
|
2962
3130
|
MinBodyLength: 1
|
2963
3131
|
|
3132
|
+
Style/HashAsLastArrayItem:
|
3133
|
+
Description: >-
|
3134
|
+
Checks for presence or absence of braces around hash literal as a last
|
3135
|
+
array item depending on configuration.
|
3136
|
+
StyleGuide: '#hash-literal-as-last-array-item'
|
3137
|
+
Enabled: 'pending'
|
3138
|
+
VersionAdded: '0.88'
|
3139
|
+
EnforcedStyle: braces
|
3140
|
+
SupportedStyles:
|
3141
|
+
- braces
|
3142
|
+
- no_braces
|
3143
|
+
|
2964
3144
|
Style/HashEachMethods:
|
2965
3145
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
2966
3146
|
StyleGuide: '#hash-each'
|
@@ -2968,6 +3148,16 @@ Style/HashEachMethods:
|
|
2968
3148
|
VersionAdded: '0.80'
|
2969
3149
|
Safe: false
|
2970
3150
|
|
3151
|
+
Style/HashLikeCase:
|
3152
|
+
Description: >-
|
3153
|
+
Checks for places where `case-when` represents a simple 1:1
|
3154
|
+
mapping and can be replaced with a hash lookup.
|
3155
|
+
Enabled: 'pending'
|
3156
|
+
VersionAdded: '0.88'
|
3157
|
+
# `MinBranchesCount` defines the number of branches `case` needs to have
|
3158
|
+
# to trigger this cop
|
3159
|
+
MinBranchesCount: 3
|
3160
|
+
|
2971
3161
|
Style/HashSyntax:
|
2972
3162
|
Description: >-
|
2973
3163
|
Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
|
@@ -2992,15 +3182,17 @@ Style/HashSyntax:
|
|
2992
3182
|
PreferHashRocketsForNonAlnumEndingSymbols: false
|
2993
3183
|
|
2994
3184
|
Style/HashTransformKeys:
|
2995
|
-
Description: 'Prefer `transform_keys` over `each_with_object`
|
3185
|
+
Description: 'Prefer `transform_keys` over `each_with_object`, `map`, or `to_h`.'
|
2996
3186
|
Enabled: 'pending'
|
2997
3187
|
VersionAdded: '0.80'
|
3188
|
+
VersionChanged: '0.90'
|
2998
3189
|
Safe: false
|
2999
3190
|
|
3000
3191
|
Style/HashTransformValues:
|
3001
|
-
Description: 'Prefer `transform_values` over `each_with_object`
|
3192
|
+
Description: 'Prefer `transform_values` over `each_with_object`, `map`, or `to_h`.'
|
3002
3193
|
Enabled: 'pending'
|
3003
3194
|
VersionAdded: '0.80'
|
3195
|
+
VersionChanged: '0.90'
|
3004
3196
|
Safe: false
|
3005
3197
|
|
3006
3198
|
Style/IdenticalConditionalBranches:
|
@@ -3097,6 +3289,12 @@ Style/IpAddresses:
|
|
3097
3289
|
- "::"
|
3098
3290
|
# :: is a valid IPv6 address, but could potentially be legitimately in code
|
3099
3291
|
|
3292
|
+
Style/KeywordParametersOrder:
|
3293
|
+
Description: 'Enforces that optional keyword parameters are placed at the end of the parameters list.'
|
3294
|
+
StyleGuide: '#keyword-parameters-order'
|
3295
|
+
Enabled: pending
|
3296
|
+
VersionAdded: '0.90'
|
3297
|
+
|
3100
3298
|
Style/Lambda:
|
3101
3299
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
3102
3300
|
StyleGuide: '#lambda-multi-line'
|
@@ -3175,12 +3373,6 @@ Style/MethodDefParentheses:
|
|
3175
3373
|
- require_no_parentheses
|
3176
3374
|
- require_no_parentheses_except_multiline
|
3177
3375
|
|
3178
|
-
Style/MethodMissingSuper:
|
3179
|
-
Description: Checks for `method_missing` to call `super`.
|
3180
|
-
StyleGuide: '#no-method-missing'
|
3181
|
-
Enabled: true
|
3182
|
-
VersionAdded: '0.56'
|
3183
|
-
|
3184
3376
|
Style/MinMax:
|
3185
3377
|
Description: >-
|
3186
3378
|
Use `Enumerable#minmax` instead of `Enumerable#min`
|
@@ -3476,7 +3668,6 @@ Style/NumericPredicate:
|
|
3476
3668
|
# object. Switching these methods has to be done with knowledge of the types
|
3477
3669
|
# of the variables which rubocop doesn't have.
|
3478
3670
|
SafeAutoCorrect: false
|
3479
|
-
AutoCorrect: false
|
3480
3671
|
Enabled: true
|
3481
3672
|
VersionAdded: '0.42'
|
3482
3673
|
VersionChanged: '0.59'
|
@@ -3492,12 +3683,13 @@ Style/NumericPredicate:
|
|
3492
3683
|
|
3493
3684
|
Style/OneLineConditional:
|
3494
3685
|
Description: >-
|
3495
|
-
Favor the ternary operator(?:) over
|
3496
|
-
if/then/else/end constructs.
|
3686
|
+
Favor the ternary operator (?:) or multi-line constructs over
|
3687
|
+
single-line if/then/else/end constructs.
|
3497
3688
|
StyleGuide: '#ternary-operator'
|
3498
3689
|
Enabled: true
|
3690
|
+
AlwaysCorrectToMultiline: false
|
3499
3691
|
VersionAdded: '0.9'
|
3500
|
-
VersionChanged: '0.
|
3692
|
+
VersionChanged: '0.90'
|
3501
3693
|
|
3502
3694
|
Style/OptionHash:
|
3503
3695
|
Description: "Don't use option hashes when you can use keyword arguments."
|
@@ -3522,6 +3714,13 @@ Style/OptionalArguments:
|
|
3522
3714
|
VersionAdded: '0.33'
|
3523
3715
|
VersionChanged: '0.83'
|
3524
3716
|
|
3717
|
+
Style/OptionalBooleanParameter:
|
3718
|
+
Description: 'Use keyword arguments when defining method with boolean argument.'
|
3719
|
+
StyleGuide: '#boolean-keyword-arguments'
|
3720
|
+
Enabled: pending
|
3721
|
+
Safe: false
|
3722
|
+
VersionAdded: '0.89'
|
3723
|
+
|
3525
3724
|
Style/OrAssignment:
|
3526
3725
|
Description: 'Recommend usage of double pipe equals (||=) where applicable.'
|
3527
3726
|
StyleGuide: '#double-pipe-for-uninit'
|
@@ -3665,6 +3864,14 @@ Style/RedundantFetchBlock:
|
|
3665
3864
|
SafeForConstants: false
|
3666
3865
|
VersionAdded: '0.86'
|
3667
3866
|
|
3867
|
+
Style/RedundantFileExtensionInRequire:
|
3868
|
+
Description: >-
|
3869
|
+
Checks for the presence of superfluous `.rb` extension in
|
3870
|
+
the filename provided to `require` and `require_relative`.
|
3871
|
+
StyleGuide: '#no-explicit-rb-to-require'
|
3872
|
+
Enabled: 'pending'
|
3873
|
+
VersionAdded: '0.88'
|
3874
|
+
|
3668
3875
|
Style/RedundantFreeze:
|
3669
3876
|
Description: "Checks usages of Object#freeze on immutable objects."
|
3670
3877
|
Enabled: true
|
@@ -3713,6 +3920,12 @@ Style/RedundantSelf:
|
|
3713
3920
|
VersionAdded: '0.10'
|
3714
3921
|
VersionChanged: '0.13'
|
3715
3922
|
|
3923
|
+
Style/RedundantSelfAssignment:
|
3924
|
+
Description: 'Checks for places where redundant assignments are made for in place modification methods.'
|
3925
|
+
Enabled: pending
|
3926
|
+
Safe: false
|
3927
|
+
VersionAdded: '0.90'
|
3928
|
+
|
3716
3929
|
Style/RedundantSort:
|
3717
3930
|
Description: >-
|
3718
3931
|
Use `min` instead of `sort.first`,
|
@@ -3832,6 +4045,12 @@ Style/SignalException:
|
|
3832
4045
|
- only_fail
|
3833
4046
|
- semantic
|
3834
4047
|
|
4048
|
+
Style/SingleArgumentDig:
|
4049
|
+
Description: 'Avoid using single argument dig method.'
|
4050
|
+
Enabled: pending
|
4051
|
+
VersionAdded: '0.89'
|
4052
|
+
Safe: false
|
4053
|
+
|
3835
4054
|
Style/SingleLineBlockParams:
|
3836
4055
|
Description: 'Enforces the names of some block params.'
|
3837
4056
|
Enabled: false
|
@@ -3859,6 +4078,14 @@ Style/SlicingWithRange:
|
|
3859
4078
|
VersionAdded: '0.83'
|
3860
4079
|
Safe: false
|
3861
4080
|
|
4081
|
+
Style/SoleNestedConditional:
|
4082
|
+
Description: >-
|
4083
|
+
Finds sole nested conditional nodes
|
4084
|
+
which can be merged into outer conditional node.
|
4085
|
+
Enabled: pending
|
4086
|
+
VersionAdded: '0.89'
|
4087
|
+
AllowModifier: false
|
4088
|
+
|
3862
4089
|
Style/SpecialGlobalVars:
|
3863
4090
|
Description: 'Avoid Perl-style global variables.'
|
3864
4091
|
StyleGuide: '#no-cryptic-perlisms'
|
@@ -3887,6 +4114,13 @@ Style/StderrPuts:
|
|
3887
4114
|
Enabled: true
|
3888
4115
|
VersionAdded: '0.51'
|
3889
4116
|
|
4117
|
+
Style/StringConcatenation:
|
4118
|
+
Description: 'Checks for places where string concatenation can be replaced with string interpolation.'
|
4119
|
+
StyleGuide: '#string-interpolation'
|
4120
|
+
Enabled: pending
|
4121
|
+
Safe: false
|
4122
|
+
VersionAdded: '0.89'
|
4123
|
+
|
3890
4124
|
Style/StringHashKeys:
|
3891
4125
|
Description: 'Prefer symbols instead of strings as hash keys.'
|
3892
4126
|
StyleGuide: '#symbols-as-keys'
|