rubocop 0.88.0 → 0.91.1
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 +1 -0
- data/config/default.yml +219 -28
- data/lib/rubocop.rb +39 -5
- data/lib/rubocop/cached_data.rb +1 -0
- data/lib/rubocop/cli/command.rb +1 -0
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +2 -1
- 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 +19 -12
- data/lib/rubocop/config.rb +20 -3
- data/lib/rubocop/config_loader.rb +22 -11
- data/lib/rubocop/config_loader_resolver.rb +4 -3
- data/lib/rubocop/config_obsoletion.rb +7 -1
- data/lib/rubocop/config_store.rb +3 -3
- data/lib/rubocop/config_validator.rb +5 -4
- data/lib/rubocop/cop/base.rb +25 -2
- 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/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 +7 -7
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +8 -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 +32 -11
- 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/case_indentation.rb +4 -7
- data/lib/rubocop/cop/layout/class_structure.rb +14 -17
- 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 +21 -18
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +13 -13
- data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +136 -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 +18 -14
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +7 -8
- data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +4 -7
- 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 +3 -7
- 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 +11 -17
- 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 +21 -19
- 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 +41 -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_equals_in_parameter_default.rb +22 -17
- data/lib/rubocop/cop/layout/space_around_keyword.rb +17 -18
- data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +9 -1
- 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 +20 -23
- 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 +19 -37
- 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 +16 -24
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +12 -13
- 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 +74 -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/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +5 -4
- data/lib/rubocop/cop/lint/duplicate_require.rb +46 -0
- data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +47 -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 +51 -0
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +2 -2
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +10 -13
- 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 +4 -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 +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_deterministic_require_order.rb +27 -23
- 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 +38 -31
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +20 -14
- 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 -9
- 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 +8 -8
- 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 +171 -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 +27 -23
- 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 +106 -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 +59 -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/configurable_numbering.rb +3 -3
- 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 +11 -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 +43 -8
- data/lib/rubocop/cop/mixin/surrounding_space.rb +8 -29
- data/lib/rubocop/cop/mixin/trailing_comma.rb +9 -11
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +6 -13
- data/lib/rubocop/cop/mixin/unused_argument.rb +4 -6
- data/lib/rubocop/cop/mixin/visibility_help.rb +4 -16
- 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 +23 -21
- 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_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 +4 -5
- 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 +9 -14
- 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 +38 -19
- 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 +84 -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 +8 -9
- data/lib/rubocop/cop/style/conditional_assignment.rb +61 -63
- 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 +1 -1
- data/lib/rubocop/cop/style/float_division.rb +3 -1
- 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 +5 -7
- 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 +27 -1
- data/lib/rubocop/cop/style/hash_each_methods.rb +5 -8
- 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 +11 -37
- 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 +53 -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 +13 -13
- 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_block_chain.rb +2 -2
- 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 +10 -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 +6 -11
- data/lib/rubocop/cop/style/one_line_conditional.rb +73 -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 +45 -0
- data/lib/rubocop/cop/style/or_assignment.rb +13 -10
- data/lib/rubocop/cop/style/parallel_assignment.rb +16 -16
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +6 -6
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +15 -21
- 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 +20 -19
- data/lib/rubocop/cop/style/redundant_assignment.rb +8 -18
- 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_conditional.rb +4 -5
- 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 +9 -8
- 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 +21 -15
- data/lib/rubocop/cop/style/redundant_percent_q.rb +9 -11
- 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_return.rb +17 -17
- data/lib/rubocop/cop/style/redundant_self.rb +9 -11
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +116 -0
- data/lib/rubocop/cop/style/redundant_sort.rb +24 -28
- data/lib/rubocop/cop/style/redundant_sort_by.rb +5 -9
- 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/rescue_standard_error.rb +20 -16
- 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 -21
- 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 +22 -22
- 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 +11 -9
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +2 -5
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -1
- 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/util.rb +2 -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 +2 -2
- data/lib/rubocop/cops_documentation_generator.rb +284 -0
- data/lib/rubocop/core_ext/string.rb +2 -2
- data/lib/rubocop/directive_comment.rb +32 -0
- data/lib/rubocop/error.rb +1 -0
- data/lib/rubocop/ext/regexp_node.rb +46 -0
- data/lib/rubocop/file_finder.rb +1 -0
- 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 +19 -4
- data/lib/rubocop/rake_task.rb +1 -0
- data/lib/rubocop/remote_config.rb +1 -0
- data/lib/rubocop/result_cache.rb +31 -13
- data/lib/rubocop/rspec/cop_helper.rb +4 -1
- data/lib/rubocop/rspec/expect_offense.rb +11 -6
- data/lib/rubocop/rspec/shared_contexts.rb +13 -5
- data/lib/rubocop/runner.rb +31 -15
- data/lib/rubocop/string_interpreter.rb +3 -0
- data/lib/rubocop/target_finder.rb +13 -9
- 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 +38 -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: a3c2093a4cd4b9f214ecef0ecf755abf1fcdcef137aaf5cd2c088537cfa3a7e6
|
4
|
+
data.tar.gz: e470d985cba7af81cfae61f82b5cc52fde7b8e1bceb1993af84db21bb370b592
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb916e735bfbdc7063f730d0a0407a3bb3037b2ccb1c0166b73fdc08e887f47f45aa95ab02bd2540404868c3afa48e77b3a2efaa0c93333fc61a6ae12c4ba275
|
7
|
+
data.tar.gz: b70b264424f19e87a194bbfe370c368806b398be3b6efba1f420ae980d3c0ac1c50d3fd736571bd1933aaa38d81b083a47abb7c10167d972667b2234ec3dba84
|
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.1', require: false
|
53
53
|
```
|
54
54
|
|
55
55
|
## Quickstart
|
data/bin/rubocop-profile
CHANGED
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
|
@@ -1420,6 +1454,16 @@ Lint/DuplicateMethods:
|
|
1420
1454
|
Enabled: true
|
1421
1455
|
VersionAdded: '0.29'
|
1422
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
|
+
|
1423
1467
|
Lint/EachWithObjectArgument:
|
1424
1468
|
Description: 'Check for immutable argument given to each_with_object.'
|
1425
1469
|
Enabled: true
|
@@ -1430,18 +1474,29 @@ Lint/ElseLayout:
|
|
1430
1474
|
Enabled: true
|
1431
1475
|
VersionAdded: '0.17'
|
1432
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
|
+
|
1433
1483
|
Lint/EmptyEnsure:
|
1434
1484
|
Description: 'Checks for empty ensure block.'
|
1435
1485
|
Enabled: true
|
1436
1486
|
VersionAdded: '0.10'
|
1437
1487
|
VersionChanged: '0.48'
|
1438
|
-
AutoCorrect: false
|
1439
1488
|
|
1440
1489
|
Lint/EmptyExpression:
|
1441
1490
|
Description: 'Checks for empty expressions.'
|
1442
1491
|
Enabled: true
|
1443
1492
|
VersionAdded: '0.45'
|
1444
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
|
+
|
1445
1500
|
Lint/EmptyInterpolation:
|
1446
1501
|
Description: 'Checks for empty string interpolation.'
|
1447
1502
|
Enabled: true
|
@@ -1473,6 +1528,12 @@ Lint/FlipFlop:
|
|
1473
1528
|
Enabled: true
|
1474
1529
|
VersionAdded: '0.16'
|
1475
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
|
+
|
1476
1537
|
Lint/FloatOutOfRange:
|
1477
1538
|
Description: >-
|
1478
1539
|
Catches floating-point literals too large or small for Ruby to
|
@@ -1493,6 +1554,12 @@ Lint/HeredocMethodCallPosition:
|
|
1493
1554
|
StyleGuide: '#heredoc-method-calls'
|
1494
1555
|
VersionAdded: '0.68'
|
1495
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
|
+
|
1496
1563
|
Lint/ImplicitStringConcatenation:
|
1497
1564
|
Description: >-
|
1498
1565
|
Checks for adjacent string literals on the same line, which
|
@@ -1520,7 +1587,7 @@ Lint/InheritException:
|
|
1520
1587
|
Lint/InterpolationCheck:
|
1521
1588
|
Description: 'Raise warning for interpolation in single q strs.'
|
1522
1589
|
Enabled: true
|
1523
|
-
|
1590
|
+
Safe: false
|
1524
1591
|
VersionAdded: '0.50'
|
1525
1592
|
VersionChanged: '0.87'
|
1526
1593
|
|
@@ -1542,6 +1609,7 @@ Lint/Loop:
|
|
1542
1609
|
StyleGuide: '#loop-with-break'
|
1543
1610
|
Enabled: true
|
1544
1611
|
VersionAdded: '0.9'
|
1612
|
+
VersionChanged: '0.89'
|
1545
1613
|
|
1546
1614
|
Lint/MissingCopEnableDirective:
|
1547
1615
|
Description: 'Checks for a `# rubocop:enable` after `# rubocop:disable`.'
|
@@ -1556,6 +1624,13 @@ Lint/MissingCopEnableDirective:
|
|
1556
1624
|
# .inf for any size
|
1557
1625
|
MaximumRangeSize: .inf
|
1558
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
|
+
|
1559
1634
|
Lint/MixedRegexpCaptureTypes:
|
1560
1635
|
Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
|
1561
1636
|
Enabled: pending
|
@@ -1608,6 +1683,12 @@ Lint/OrderedMagicComments:
|
|
1608
1683
|
Enabled: true
|
1609
1684
|
VersionAdded: '0.53'
|
1610
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
|
+
|
1611
1692
|
Lint/ParenthesesAsGroupedExpression:
|
1612
1693
|
Description: >-
|
1613
1694
|
Checks for method calls with a space before the opening
|
@@ -1730,6 +1811,7 @@ Lint/SafeNavigationChain:
|
|
1730
1811
|
- presence
|
1731
1812
|
- try
|
1732
1813
|
- try!
|
1814
|
+
- in?
|
1733
1815
|
|
1734
1816
|
Lint/SafeNavigationConsistency:
|
1735
1817
|
Description: >-
|
@@ -1758,6 +1840,11 @@ Lint/ScriptPermission:
|
|
1758
1840
|
VersionAdded: '0.49'
|
1759
1841
|
VersionChanged: '0.50'
|
1760
1842
|
|
1843
|
+
Lint/SelfAssignment:
|
1844
|
+
Description: 'Checks for self-assignments.'
|
1845
|
+
Enabled: pending
|
1846
|
+
VersionAdded: '0.89'
|
1847
|
+
|
1761
1848
|
Lint/SendWithMixinArgument:
|
1762
1849
|
Description: 'Checks for `send` method when using mixin.'
|
1763
1850
|
Enabled: true
|
@@ -1808,6 +1895,16 @@ Lint/ToJSON:
|
|
1808
1895
|
Enabled: true
|
1809
1896
|
VersionAdded: '0.66'
|
1810
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
|
+
|
1811
1908
|
Lint/UnderscorePrefixedVariableName:
|
1812
1909
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
1813
1910
|
Enabled: true
|
@@ -1824,6 +1921,11 @@ Lint/UnreachableCode:
|
|
1824
1921
|
Enabled: true
|
1825
1922
|
VersionAdded: '0.9'
|
1826
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
|
+
|
1827
1929
|
Lint/UnusedBlockArgument:
|
1828
1930
|
Description: 'Checks for unused block arguments.'
|
1829
1931
|
StyleGuide: '#underscore-unused-vars'
|
@@ -1873,16 +1975,18 @@ Lint/UselessAssignment:
|
|
1873
1975
|
Enabled: true
|
1874
1976
|
VersionAdded: '0.11'
|
1875
1977
|
|
1876
|
-
Lint/UselessComparison:
|
1877
|
-
Description: 'Checks for comparison of something with itself.'
|
1878
|
-
Enabled: true
|
1879
|
-
VersionAdded: '0.11'
|
1880
|
-
|
1881
1978
|
Lint/UselessElseWithoutRescue:
|
1882
1979
|
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
|
1883
1980
|
Enabled: true
|
1884
1981
|
VersionAdded: '0.17'
|
1885
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
|
+
|
1886
1990
|
Lint/UselessSetterCall:
|
1887
1991
|
Description: 'Checks for useless setter call to a local variable.'
|
1888
1992
|
Enabled: true
|
@@ -1890,6 +1994,12 @@ Lint/UselessSetterCall:
|
|
1890
1994
|
VersionChanged: '0.80'
|
1891
1995
|
Safe: false
|
1892
1996
|
|
1997
|
+
Lint/UselessTimes:
|
1998
|
+
Description: 'Checks for useless `Integer#times` calls.'
|
1999
|
+
Enabled: pending
|
2000
|
+
VersionAdded: '0.91'
|
2001
|
+
Safe: false
|
2002
|
+
|
1893
2003
|
Lint/Void:
|
1894
2004
|
Description: 'Possible use of operator/literal/variable in void context.'
|
1895
2005
|
Enabled: true
|
@@ -1911,7 +2021,7 @@ Metrics/AbcSize:
|
|
1911
2021
|
# The ABC size is a calculated magnitude, so this number can be an Integer or
|
1912
2022
|
# a Float.
|
1913
2023
|
IgnoredMethods: []
|
1914
|
-
Max:
|
2024
|
+
Max: 17
|
1915
2025
|
|
1916
2026
|
Metrics/BlockLength:
|
1917
2027
|
Description: 'Avoid long blocks with many lines.'
|
@@ -1993,7 +2103,7 @@ Metrics/PerceivedComplexity:
|
|
1993
2103
|
VersionAdded: '0.25'
|
1994
2104
|
VersionChanged: '0.81'
|
1995
2105
|
IgnoredMethods: []
|
1996
|
-
Max:
|
2106
|
+
Max: 8
|
1997
2107
|
|
1998
2108
|
################## Migration #############################
|
1999
2109
|
|
@@ -2352,6 +2462,7 @@ Style/ArrayCoercion:
|
|
2352
2462
|
Use Array() instead of explicit Array check or [*var], when dealing
|
2353
2463
|
with a variable you want to treat as an Array, but you're not certain it's an array.
|
2354
2464
|
StyleGuide: '#array-coercion'
|
2465
|
+
Safe: false
|
2355
2466
|
Enabled: 'pending'
|
2356
2467
|
VersionAdded: '0.88'
|
2357
2468
|
|
@@ -2527,6 +2638,7 @@ Style/CaseEquality:
|
|
2527
2638
|
StyleGuide: '#no-case-equality'
|
2528
2639
|
Enabled: true
|
2529
2640
|
VersionAdded: '0.9'
|
2641
|
+
VersionChanged: '0.89'
|
2530
2642
|
# If AllowOnConstant is enabled, the cop will ignore violations when the receiver of
|
2531
2643
|
# the case equality operator is a constant.
|
2532
2644
|
#
|
@@ -2541,6 +2653,7 @@ Style/CaseLikeIf:
|
|
2541
2653
|
Description: 'This cop identifies places where `if-elsif` constructions can be replaced with `case-when`.'
|
2542
2654
|
StyleGuide: '#case-vs-if-else'
|
2543
2655
|
Enabled: 'pending'
|
2656
|
+
Safe: false
|
2544
2657
|
VersionAdded: '0.88'
|
2545
2658
|
|
2546
2659
|
Style/CharacterLiteral:
|
@@ -2558,7 +2671,6 @@ Style/ClassAndModuleChildren:
|
|
2558
2671
|
# have the knowledge to perform either operation safely and thus requires
|
2559
2672
|
# manual oversight.
|
2560
2673
|
SafeAutoCorrect: false
|
2561
|
-
AutoCorrect: false
|
2562
2674
|
Enabled: true
|
2563
2675
|
VersionAdded: '0.19'
|
2564
2676
|
#
|
@@ -2597,6 +2709,16 @@ Style/ClassMethods:
|
|
2597
2709
|
VersionAdded: '0.9'
|
2598
2710
|
VersionChanged: '0.20'
|
2599
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
|
+
|
2600
2722
|
Style/ClassVars:
|
2601
2723
|
Description: 'Avoid the use of class variables.'
|
2602
2724
|
StyleGuide: '#no-class-vars'
|
@@ -2637,6 +2759,14 @@ Style/ColonMethodDefinition:
|
|
2637
2759
|
Enabled: true
|
2638
2760
|
VersionAdded: '0.52'
|
2639
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
|
+
|
2640
2770
|
Style/CommandLiteral:
|
2641
2771
|
Description: 'Use `` or %x around command literals.'
|
2642
2772
|
StyleGuide: '#percent-x'
|
@@ -2880,6 +3010,16 @@ Style/ExpandPathArguments:
|
|
2880
3010
|
Enabled: true
|
2881
3011
|
VersionAdded: '0.53'
|
2882
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
|
+
|
2883
3023
|
Style/ExponentialNotation:
|
2884
3024
|
Description: 'When using exponential notation, favor a mantissa between 1 (inclusive) and 10 (exclusive).'
|
2885
3025
|
StyleGuide: '#exponential-notation'
|
@@ -2961,7 +3101,14 @@ Style/FrozenStringLiteralComment:
|
|
2961
3101
|
# `never` will enforce that the frozen string literal comment does not
|
2962
3102
|
# exist in a file.
|
2963
3103
|
- never
|
2964
|
-
|
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
|
2965
3112
|
|
2966
3113
|
Style/GlobalVars:
|
2967
3114
|
Description: 'Do not introduce global variables.'
|
@@ -3035,15 +3182,17 @@ Style/HashSyntax:
|
|
3035
3182
|
PreferHashRocketsForNonAlnumEndingSymbols: false
|
3036
3183
|
|
3037
3184
|
Style/HashTransformKeys:
|
3038
|
-
Description: 'Prefer `transform_keys` over `each_with_object`
|
3185
|
+
Description: 'Prefer `transform_keys` over `each_with_object`, `map`, or `to_h`.'
|
3039
3186
|
Enabled: 'pending'
|
3040
3187
|
VersionAdded: '0.80'
|
3188
|
+
VersionChanged: '0.90'
|
3041
3189
|
Safe: false
|
3042
3190
|
|
3043
3191
|
Style/HashTransformValues:
|
3044
|
-
Description: 'Prefer `transform_values` over `each_with_object`
|
3192
|
+
Description: 'Prefer `transform_values` over `each_with_object`, `map`, or `to_h`.'
|
3045
3193
|
Enabled: 'pending'
|
3046
3194
|
VersionAdded: '0.80'
|
3195
|
+
VersionChanged: '0.90'
|
3047
3196
|
Safe: false
|
3048
3197
|
|
3049
3198
|
Style/IdenticalConditionalBranches:
|
@@ -3134,11 +3283,22 @@ Style/IpAddresses:
|
|
3134
3283
|
Description: "Don't include literal IP addresses in code."
|
3135
3284
|
Enabled: false
|
3136
3285
|
VersionAdded: '0.58'
|
3137
|
-
VersionChanged: '0.
|
3286
|
+
VersionChanged: '0.91'
|
3138
3287
|
# Allow addresses to be permitted
|
3139
3288
|
AllowedAddresses:
|
3140
3289
|
- "::"
|
3141
3290
|
# :: is a valid IPv6 address, but could potentially be legitimately in code
|
3291
|
+
Exclude:
|
3292
|
+
- '**/*.gemfile'
|
3293
|
+
- '**/Gemfile'
|
3294
|
+
- '**/gems.rb'
|
3295
|
+
- '**/*.gemspec'
|
3296
|
+
|
3297
|
+
Style/KeywordParametersOrder:
|
3298
|
+
Description: 'Enforces that optional keyword parameters are placed at the end of the parameters list.'
|
3299
|
+
StyleGuide: '#keyword-parameters-order'
|
3300
|
+
Enabled: pending
|
3301
|
+
VersionAdded: '0.90'
|
3142
3302
|
|
3143
3303
|
Style/Lambda:
|
3144
3304
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
@@ -3218,12 +3378,6 @@ Style/MethodDefParentheses:
|
|
3218
3378
|
- require_no_parentheses
|
3219
3379
|
- require_no_parentheses_except_multiline
|
3220
3380
|
|
3221
|
-
Style/MethodMissingSuper:
|
3222
|
-
Description: Checks for `method_missing` to call `super`.
|
3223
|
-
StyleGuide: '#no-method-missing'
|
3224
|
-
Enabled: true
|
3225
|
-
VersionAdded: '0.56'
|
3226
|
-
|
3227
3381
|
Style/MinMax:
|
3228
3382
|
Description: >-
|
3229
3383
|
Use `Enumerable#minmax` instead of `Enumerable#min`
|
@@ -3519,7 +3673,6 @@ Style/NumericPredicate:
|
|
3519
3673
|
# object. Switching these methods has to be done with knowledge of the types
|
3520
3674
|
# of the variables which rubocop doesn't have.
|
3521
3675
|
SafeAutoCorrect: false
|
3522
|
-
AutoCorrect: false
|
3523
3676
|
Enabled: true
|
3524
3677
|
VersionAdded: '0.42'
|
3525
3678
|
VersionChanged: '0.59'
|
@@ -3535,12 +3688,13 @@ Style/NumericPredicate:
|
|
3535
3688
|
|
3536
3689
|
Style/OneLineConditional:
|
3537
3690
|
Description: >-
|
3538
|
-
Favor the ternary operator(?:) over
|
3539
|
-
if/then/else/end constructs.
|
3691
|
+
Favor the ternary operator (?:) or multi-line constructs over
|
3692
|
+
single-line if/then/else/end constructs.
|
3540
3693
|
StyleGuide: '#ternary-operator'
|
3541
3694
|
Enabled: true
|
3695
|
+
AlwaysCorrectToMultiline: false
|
3542
3696
|
VersionAdded: '0.9'
|
3543
|
-
VersionChanged: '0.
|
3697
|
+
VersionChanged: '0.90'
|
3544
3698
|
|
3545
3699
|
Style/OptionHash:
|
3546
3700
|
Description: "Don't use option hashes when you can use keyword arguments."
|
@@ -3565,6 +3719,13 @@ Style/OptionalArguments:
|
|
3565
3719
|
VersionAdded: '0.33'
|
3566
3720
|
VersionChanged: '0.83'
|
3567
3721
|
|
3722
|
+
Style/OptionalBooleanParameter:
|
3723
|
+
Description: 'Use keyword arguments when defining method with boolean argument.'
|
3724
|
+
StyleGuide: '#boolean-keyword-arguments'
|
3725
|
+
Enabled: pending
|
3726
|
+
Safe: false
|
3727
|
+
VersionAdded: '0.89'
|
3728
|
+
|
3568
3729
|
Style/OrAssignment:
|
3569
3730
|
Description: 'Recommend usage of double pipe equals (||=) where applicable.'
|
3570
3731
|
StyleGuide: '#double-pipe-for-uninit'
|
@@ -3764,6 +3925,12 @@ Style/RedundantSelf:
|
|
3764
3925
|
VersionAdded: '0.10'
|
3765
3926
|
VersionChanged: '0.13'
|
3766
3927
|
|
3928
|
+
Style/RedundantSelfAssignment:
|
3929
|
+
Description: 'Checks for places where redundant assignments are made for in place modification methods.'
|
3930
|
+
Enabled: pending
|
3931
|
+
Safe: false
|
3932
|
+
VersionAdded: '0.90'
|
3933
|
+
|
3767
3934
|
Style/RedundantSort:
|
3768
3935
|
Description: >-
|
3769
3936
|
Use `min` instead of `sort.first`,
|
@@ -3826,6 +3993,8 @@ Style/SafeNavigation:
|
|
3826
3993
|
This cop transforms usages of a method call safeguarded by
|
3827
3994
|
a check for the existence of the object to
|
3828
3995
|
safe navigation (`&.`).
|
3996
|
+
Auto-correction is unsafe as it assumes the object will
|
3997
|
+
be `nil` or truthy, but never `false`.
|
3829
3998
|
Enabled: true
|
3830
3999
|
VersionAdded: '0.43'
|
3831
4000
|
VersionChanged: '0.77'
|
@@ -3838,6 +4007,7 @@ Style/SafeNavigation:
|
|
3838
4007
|
- presence
|
3839
4008
|
- try
|
3840
4009
|
- try!
|
4010
|
+
SafeAutoCorrect: false
|
3841
4011
|
|
3842
4012
|
Style/Sample:
|
3843
4013
|
Description: >-
|
@@ -3883,6 +4053,12 @@ Style/SignalException:
|
|
3883
4053
|
- only_fail
|
3884
4054
|
- semantic
|
3885
4055
|
|
4056
|
+
Style/SingleArgumentDig:
|
4057
|
+
Description: 'Avoid using single argument dig method.'
|
4058
|
+
Enabled: pending
|
4059
|
+
VersionAdded: '0.89'
|
4060
|
+
Safe: false
|
4061
|
+
|
3886
4062
|
Style/SingleLineBlockParams:
|
3887
4063
|
Description: 'Enforces the names of some block params.'
|
3888
4064
|
Enabled: false
|
@@ -3910,6 +4086,14 @@ Style/SlicingWithRange:
|
|
3910
4086
|
VersionAdded: '0.83'
|
3911
4087
|
Safe: false
|
3912
4088
|
|
4089
|
+
Style/SoleNestedConditional:
|
4090
|
+
Description: >-
|
4091
|
+
Finds sole nested conditional nodes
|
4092
|
+
which can be merged into outer conditional node.
|
4093
|
+
Enabled: pending
|
4094
|
+
VersionAdded: '0.89'
|
4095
|
+
AllowModifier: false
|
4096
|
+
|
3913
4097
|
Style/SpecialGlobalVars:
|
3914
4098
|
Description: 'Avoid Perl-style global variables.'
|
3915
4099
|
StyleGuide: '#no-cryptic-perlisms'
|
@@ -3938,6 +4122,13 @@ Style/StderrPuts:
|
|
3938
4122
|
Enabled: true
|
3939
4123
|
VersionAdded: '0.51'
|
3940
4124
|
|
4125
|
+
Style/StringConcatenation:
|
4126
|
+
Description: 'Checks for places where string concatenation can be replaced with string interpolation.'
|
4127
|
+
StyleGuide: '#string-interpolation'
|
4128
|
+
Enabled: pending
|
4129
|
+
Safe: false
|
4130
|
+
VersionAdded: '0.89'
|
4131
|
+
|
3941
4132
|
Style/StringHashKeys:
|
3942
4133
|
Description: 'Prefer symbols instead of strings as hash keys.'
|
3943
4134
|
StyleGuide: '#symbols-as-keys'
|