rubocop 0.71.0 → 0.75.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 +5 -8
- data/bin/console +1 -0
- data/config/default.yml +84 -488
- data/lib/rubocop.rb +16 -54
- data/lib/rubocop/ast/builder.rb +2 -0
- data/lib/rubocop/ast/node.rb +9 -15
- data/lib/rubocop/ast/node/float_node.rb +12 -0
- data/lib/rubocop/ast/node/int_node.rb +12 -0
- data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +4 -4
- data/lib/rubocop/ast/node/mixin/numeric_node.rb +21 -0
- data/lib/rubocop/ast/node/resbody_node.rb +1 -6
- data/lib/rubocop/ast/traversal.rb +3 -3
- data/lib/rubocop/cached_data.rb +1 -1
- data/lib/rubocop/comment_config.rb +3 -2
- data/lib/rubocop/config.rb +21 -508
- data/lib/rubocop/config_loader.rb +22 -8
- data/lib/rubocop/config_loader_resolver.rb +2 -16
- data/lib/rubocop/config_obsoletion.rb +213 -0
- data/lib/rubocop/config_validator.rb +239 -0
- data/lib/rubocop/cop/autocorrect_logic.rb +71 -1
- data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +1 -1
- data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -1
- data/lib/rubocop/cop/commissioner.rb +3 -9
- data/lib/rubocop/cop/cop.rb +39 -12
- data/lib/rubocop/cop/corrector.rb +2 -3
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +43 -17
- data/lib/rubocop/cop/correctors/empty_line_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
- data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +2 -2
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +1 -1
- data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +55 -0
- data/lib/rubocop/cop/generator.rb +4 -4
- data/lib/rubocop/cop/generator/configuration_injector.rb +9 -4
- data/lib/rubocop/cop/generator/require_file_injector.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -2
- data/lib/rubocop/cop/layout/block_alignment.rb +3 -3
- data/lib/rubocop/cop/layout/class_structure.rb +2 -2
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -7
- data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +2 -2
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -2
- data/lib/rubocop/cop/layout/extra_spacing.rb +14 -59
- data/lib/rubocop/cop/layout/indent_assignment.rb +10 -1
- data/lib/rubocop/cop/layout/indent_first_argument.rb +7 -3
- data/lib/rubocop/cop/layout/indent_first_parameter.rb +7 -3
- data/lib/rubocop/cop/layout/indent_heredoc.rb +4 -4
- data/lib/rubocop/cop/layout/indentation_consistency.rb +13 -12
- data/lib/rubocop/cop/layout/indentation_width.rb +28 -10
- data/lib/rubocop/cop/layout/leading_comment_space.rb +28 -0
- data/lib/rubocop/cop/layout/multiline_block_layout.rb +24 -2
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +18 -4
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +5 -1
- data/lib/rubocop/cop/layout/space_around_operators.rb +42 -23
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +21 -2
- data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +24 -40
- data/lib/rubocop/cop/layout/tab.rb +10 -22
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +17 -4
- data/lib/rubocop/cop/lint/big_decimal_new.rb +1 -1
- data/lib/rubocop/cop/lint/debugger.rb +4 -6
- data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -3
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/empty_interpolation.rb +4 -4
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +57 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +11 -37
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/inherit_exception.rb +1 -1
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -8
- data/lib/rubocop/cop/lint/multiple_compare.rb +1 -1
- data/lib/rubocop/cop/lint/nested_method_definition.rb +3 -3
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +1 -1
- data/lib/rubocop/cop/lint/number_conversion.rb +4 -4
- data/lib/rubocop/cop/lint/rand_one.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +5 -5
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -1
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +91 -0
- data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +6 -6
- data/lib/rubocop/cop/lint/unified_integer.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_cop_disable_directive.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_require_statement.rb +1 -1
- data/lib/rubocop/cop/lint/unneeded_splat_expansion.rb +7 -2
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unused_block_argument.rb +22 -6
- data/lib/rubocop/cop/lint/unused_method_argument.rb +23 -5
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
- data/lib/rubocop/cop/lint/uri_regexp.rb +2 -2
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +6 -6
- data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
- data/lib/rubocop/cop/lint/void.rb +3 -22
- data/lib/rubocop/cop/message_annotator.rb +16 -7
- data/lib/rubocop/cop/metrics/class_length.rb +1 -1
- data/lib/rubocop/cop/metrics/line_length.rb +6 -0
- data/lib/rubocop/cop/metrics/module_length.rb +1 -1
- data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
- data/lib/rubocop/cop/migration/department_name.rb +44 -0
- data/lib/rubocop/cop/mixin/alignment.rb +1 -1
- data/lib/rubocop/cop/mixin/def_node.rb +1 -1
- data/lib/rubocop/cop/mixin/documentation_comment.rb +0 -2
- data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -1
- data/lib/rubocop/cop/mixin/enforce_superclass.rb +4 -4
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +1 -1
- data/lib/rubocop/cop/mixin/interpolation.rb +27 -0
- data/lib/rubocop/cop/mixin/method_complexity.rb +1 -1
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +3 -3
- data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +87 -0
- data/lib/rubocop/cop/mixin/safe_mode.rb +2 -0
- data/lib/rubocop/cop/mixin/surrounding_space.rb +7 -5
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/constant_name.rb +2 -2
- data/lib/rubocop/cop/naming/method_name.rb +12 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +1 -1
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +21 -20
- data/lib/rubocop/cop/naming/variable_name.rb +1 -0
- data/lib/rubocop/cop/offense.rb +18 -7
- data/lib/rubocop/cop/registry.rb +22 -1
- data/lib/rubocop/cop/security/eval.rb +1 -1
- data/lib/rubocop/cop/security/json_load.rb +1 -1
- data/lib/rubocop/cop/security/marshal_load.rb +1 -1
- data/lib/rubocop/cop/security/open.rb +1 -1
- data/lib/rubocop/cop/security/yaml_load.rb +1 -1
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -0
- data/lib/rubocop/cop/style/alias.rb +1 -1
- data/lib/rubocop/cop/style/block_delimiters.rb +2 -1
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +29 -10
- data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
- data/lib/rubocop/cop/style/commented_keyword.rb +16 -30
- data/lib/rubocop/cop/style/conditional_assignment.rb +8 -9
- data/lib/rubocop/cop/style/constant_visibility.rb +14 -3
- data/lib/rubocop/cop/style/date_time.rb +3 -3
- data/lib/rubocop/cop/style/dir.rb +1 -1
- data/lib/rubocop/cop/style/documentation_method.rb +45 -1
- data/lib/rubocop/cop/style/double_cop_disable_directive.rb +55 -0
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
- data/lib/rubocop/cop/style/each_with_object.rb +1 -1
- data/lib/rubocop/cop/style/eval_with_location.rb +2 -2
- data/lib/rubocop/cop/style/even_odd.rb +1 -1
- data/lib/rubocop/cop/style/expand_path_arguments.rb +4 -4
- data/lib/rubocop/cop/style/float_division.rb +94 -0
- data/lib/rubocop/cop/style/format_string.rb +13 -9
- data/lib/rubocop/cop/style/format_string_token.rb +18 -69
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +18 -33
- data/lib/rubocop/cop/style/guard_clause.rb +39 -10
- data/lib/rubocop/cop/style/hash_syntax.rb +2 -2
- data/lib/rubocop/cop/style/if_inside_else.rb +42 -0
- data/lib/rubocop/cop/style/if_unless_modifier.rb +51 -15
- data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +2 -2
- data/lib/rubocop/cop/style/lambda.rb +0 -2
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +32 -26
- data/lib/rubocop/cop/style/min_max.rb +1 -1
- data/lib/rubocop/cop/style/mixin_usage.rb +12 -2
- data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
- data/lib/rubocop/cop/style/multiline_when_then.rb +55 -0
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
- data/lib/rubocop/cop/style/mutable_constant.rb +3 -3
- data/lib/rubocop/cop/style/nested_modifier.rb +18 -2
- data/lib/rubocop/cop/style/numeric_predicate.rb +3 -3
- data/lib/rubocop/cop/style/option_hash.rb +1 -1
- data/lib/rubocop/cop/style/or_assignment.rb +8 -3
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +15 -1
- data/lib/rubocop/cop/style/random_with_offset.rb +6 -6
- data/lib/rubocop/cop/style/redundant_conditional.rb +2 -2
- data/lib/rubocop/cop/style/redundant_exception.rb +2 -2
- data/lib/rubocop/cop/style/redundant_freeze.rb +1 -1
- data/lib/rubocop/cop/style/redundant_parentheses.rb +15 -6
- data/lib/rubocop/cop/style/redundant_return.rb +12 -0
- data/lib/rubocop/cop/style/redundant_self.rb +18 -1
- data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -1
- data/lib/rubocop/cop/style/rescue_modifier.rb +24 -0
- data/lib/rubocop/cop/style/rescue_standard_error.rb +2 -2
- data/lib/rubocop/cop/style/return_nil.rb +1 -1
- data/lib/rubocop/cop/style/safe_navigation.rb +19 -2
- data/lib/rubocop/cop/style/sample.rb +1 -1
- data/lib/rubocop/cop/style/semicolon.rb +11 -0
- data/lib/rubocop/cop/style/single_line_methods.rb +8 -1
- data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
- data/lib/rubocop/cop/style/string_hash_keys.rb +2 -2
- data/lib/rubocop/cop/style/strip.rb +1 -1
- data/lib/rubocop/cop/style/struct_inheritance.rb +3 -3
- data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
- data/lib/rubocop/cop/style/ternary_parentheses.rb +32 -3
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +4 -6
- data/lib/rubocop/cop/style/trivial_accessors.rb +1 -1
- data/lib/rubocop/cop/style/unneeded_sort.rb +1 -1
- data/lib/rubocop/cop/style/unpack_first.rb +1 -1
- data/lib/rubocop/cop/style/variable_interpolation.rb +6 -16
- data/lib/rubocop/cop/style/word_array.rb +2 -2
- data/lib/rubocop/cop/style/zero_length_predicate.rb +6 -6
- data/lib/rubocop/cop/team.rb +15 -14
- data/lib/rubocop/cop/utils/format_string.rb +128 -0
- data/lib/rubocop/cop/variable_force/variable.rb +15 -2
- data/lib/rubocop/core_ext/string.rb +0 -24
- data/lib/rubocop/error.rb +23 -0
- data/lib/rubocop/formatter/clang_style_formatter.rb +8 -3
- data/lib/rubocop/formatter/emacs_style_formatter.rb +22 -9
- data/lib/rubocop/formatter/file_list_formatter.rb +1 -1
- data/lib/rubocop/formatter/formatter_set.rb +16 -15
- data/lib/rubocop/formatter/pacman_formatter.rb +80 -0
- data/lib/rubocop/formatter/simple_text_formatter.rb +16 -4
- data/lib/rubocop/formatter/tap_formatter.rb +17 -4
- data/lib/rubocop/magic_comment.rb +4 -0
- data/lib/rubocop/node_pattern.rb +2 -2
- data/lib/rubocop/options.rb +21 -17
- data/lib/rubocop/path_util.rb +1 -1
- data/lib/rubocop/processed_source.rb +6 -1
- data/lib/rubocop/rspec/cop_helper.rb +0 -1
- data/lib/rubocop/rspec/expect_offense.rb +4 -1
- data/lib/rubocop/rspec/shared_contexts.rb +12 -17
- data/lib/rubocop/rspec/support.rb +0 -1
- data/lib/rubocop/runner.rb +14 -25
- data/lib/rubocop/target_finder.rb +6 -4
- data/lib/rubocop/version.rb +1 -1
- data/lib/rubocop/yaml_duplication_checker.rb +8 -2
- metadata +17 -92
- data/lib/rubocop/cop/mixin/ignored_method_patterns.rb +0 -19
- data/lib/rubocop/cop/mixin/target_rails_version.rb +0 -16
- data/lib/rubocop/cop/rails/action_filter.rb +0 -117
- data/lib/rubocop/cop/rails/active_record_aliases.rb +0 -48
- data/lib/rubocop/cop/rails/active_record_override.rb +0 -82
- data/lib/rubocop/cop/rails/active_support_aliases.rb +0 -69
- data/lib/rubocop/cop/rails/application_job.rb +0 -40
- data/lib/rubocop/cop/rails/application_record.rb +0 -40
- data/lib/rubocop/cop/rails/assert_not.rb +0 -44
- data/lib/rubocop/cop/rails/belongs_to.rb +0 -102
- data/lib/rubocop/cop/rails/blank.rb +0 -164
- data/lib/rubocop/cop/rails/bulk_change_table.rb +0 -289
- data/lib/rubocop/cop/rails/create_table_with_timestamps.rb +0 -91
- data/lib/rubocop/cop/rails/date.rb +0 -161
- data/lib/rubocop/cop/rails/delegate.rb +0 -132
- data/lib/rubocop/cop/rails/delegate_allow_blank.rb +0 -37
- data/lib/rubocop/cop/rails/dynamic_find_by.rb +0 -91
- data/lib/rubocop/cop/rails/enum_uniqueness.rb +0 -45
- data/lib/rubocop/cop/rails/environment_comparison.rb +0 -68
- data/lib/rubocop/cop/rails/exit.rb +0 -67
- data/lib/rubocop/cop/rails/file_path.rb +0 -108
- data/lib/rubocop/cop/rails/find_by.rb +0 -55
- data/lib/rubocop/cop/rails/find_each.rb +0 -51
- data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +0 -25
- data/lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb +0 -106
- data/lib/rubocop/cop/rails/http_positional_arguments.rb +0 -117
- data/lib/rubocop/cop/rails/http_status.rb +0 -179
- data/lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb +0 -94
- data/lib/rubocop/cop/rails/inverse_of.rb +0 -246
- data/lib/rubocop/cop/rails/lexically_scoped_action_filter.rb +0 -175
- data/lib/rubocop/cop/rails/link_to_blank.rb +0 -98
- data/lib/rubocop/cop/rails/not_null_column.rb +0 -67
- data/lib/rubocop/cop/rails/output.rb +0 -49
- data/lib/rubocop/cop/rails/output_safety.rb +0 -99
- data/lib/rubocop/cop/rails/pluralization_grammar.rb +0 -107
- data/lib/rubocop/cop/rails/presence.rb +0 -124
- data/lib/rubocop/cop/rails/present.rb +0 -153
- data/lib/rubocop/cop/rails/read_write_attribute.rb +0 -74
- data/lib/rubocop/cop/rails/redundant_allow_nil.rb +0 -111
- data/lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb +0 -136
- data/lib/rubocop/cop/rails/reflection_class_name.rb +0 -37
- data/lib/rubocop/cop/rails/refute_methods.rb +0 -76
- data/lib/rubocop/cop/rails/relative_date_constant.rb +0 -93
- data/lib/rubocop/cop/rails/request_referer.rb +0 -56
- data/lib/rubocop/cop/rails/reversible_migration.rb +0 -286
- data/lib/rubocop/cop/rails/safe_navigation.rb +0 -87
- data/lib/rubocop/cop/rails/save_bang.rb +0 -316
- data/lib/rubocop/cop/rails/scope_args.rb +0 -29
- data/lib/rubocop/cop/rails/skips_model_validations.rb +0 -87
- data/lib/rubocop/cop/rails/time_zone.rb +0 -238
- data/lib/rubocop/cop/rails/uniq_before_pluck.rb +0 -105
- data/lib/rubocop/cop/rails/unknown_env.rb +0 -63
- data/lib/rubocop/cop/rails/validation.rb +0 -109
- data/lib/rubocop/rspec/shared_examples.rb +0 -59
@@ -42,9 +42,13 @@ module RuboCop
|
|
42
42
|
output.puts yellow("== #{smart_path(file)} ==")
|
43
43
|
|
44
44
|
offenses.each do |o|
|
45
|
-
output.printf(
|
46
|
-
|
47
|
-
|
45
|
+
output.printf(
|
46
|
+
"%<severity>s:%3<line>d:%3<column>d: %<message>s\n",
|
47
|
+
severity: colored_severity_code(o),
|
48
|
+
line: o.line,
|
49
|
+
column: o.real_column,
|
50
|
+
message: message(o)
|
51
|
+
)
|
48
52
|
end
|
49
53
|
end
|
50
54
|
|
@@ -75,7 +79,15 @@ module RuboCop
|
|
75
79
|
end
|
76
80
|
|
77
81
|
def message(offense)
|
78
|
-
message =
|
82
|
+
message =
|
83
|
+
if offense.corrected_with_todo?
|
84
|
+
green('[Todo] ')
|
85
|
+
elsif offense.corrected?
|
86
|
+
green('[Corrected] ')
|
87
|
+
else
|
88
|
+
''
|
89
|
+
end
|
90
|
+
|
79
91
|
"#{message}#{annotate_message(offense.message)}"
|
80
92
|
end
|
81
93
|
|
@@ -42,9 +42,14 @@ module RuboCop
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def report_offense(file, offense)
|
45
|
-
output.printf(
|
46
|
-
|
47
|
-
|
45
|
+
output.printf(
|
46
|
+
"# %<path>s:%<line>d:%<column>d: %<severity>s: %<message>s\n",
|
47
|
+
path: cyan(smart_path(file)),
|
48
|
+
line: offense.line,
|
49
|
+
column: offense.real_column,
|
50
|
+
severity: colored_severity_code(offense),
|
51
|
+
message: message(offense)
|
52
|
+
)
|
48
53
|
|
49
54
|
# rubocop:disable Lint/HandleExceptions
|
50
55
|
begin
|
@@ -63,7 +68,15 @@ module RuboCop
|
|
63
68
|
end
|
64
69
|
|
65
70
|
def message(offense)
|
66
|
-
message =
|
71
|
+
message =
|
72
|
+
if offense.corrected_with_todo?
|
73
|
+
'[Todo] '
|
74
|
+
elsif offense.corrected?
|
75
|
+
'[Corrected] '
|
76
|
+
else
|
77
|
+
''
|
78
|
+
end
|
79
|
+
|
67
80
|
"#{message}#{annotate_message(offense.message)}"
|
68
81
|
end
|
69
82
|
end
|
data/lib/rubocop/node_pattern.rb
CHANGED
@@ -612,7 +612,7 @@ module RuboCop
|
|
612
612
|
end
|
613
613
|
|
614
614
|
def emit_method_code
|
615
|
-
|
615
|
+
<<~RUBY
|
616
616
|
return unless #{@match_code}
|
617
617
|
block_given? ? #{emit_yield_capture} : (return #{emit_retval})
|
618
618
|
RUBY
|
@@ -746,7 +746,7 @@ module RuboCop
|
|
746
746
|
|
747
747
|
def node_search_body(method_name, trailing_params, prelude, match_code,
|
748
748
|
on_match)
|
749
|
-
|
749
|
+
<<~RUBY
|
750
750
|
def #{method_name}(node0#{trailing_params})
|
751
751
|
#{prelude}
|
752
752
|
node0.each_node do |node|
|
data/lib/rubocop/options.rb
CHANGED
@@ -109,6 +109,8 @@ module RuboCop
|
|
109
109
|
@validator.validate_exclude_limit_option
|
110
110
|
end
|
111
111
|
|
112
|
+
option(opts, '--disable-uncorrectable')
|
113
|
+
|
112
114
|
option(opts, '--no-offense-counts') do
|
113
115
|
@options[:no_offense_counts] = true
|
114
116
|
end
|
@@ -159,7 +161,6 @@ module RuboCop
|
|
159
161
|
option(opts, '-D', '--[no-]display-cop-names')
|
160
162
|
option(opts, '-E', '--extra-details')
|
161
163
|
option(opts, '-S', '--display-style-guide')
|
162
|
-
option(opts, '-R', '--rails')
|
163
164
|
option(opts, '-a', '--auto-correct')
|
164
165
|
option(opts, '--ignore-disable-comments')
|
165
166
|
|
@@ -254,6 +255,7 @@ module RuboCop
|
|
254
255
|
@options = options
|
255
256
|
end
|
256
257
|
|
258
|
+
# rubocop:disable Metrics/AbcSize
|
257
259
|
def validate_compatibility # rubocop:disable Metrics/MethodLength
|
258
260
|
if only_includes_unneeded_disable?
|
259
261
|
raise OptionArgumentError, 'Lint/UnneededCopDisableDirective can not ' \
|
@@ -271,6 +273,7 @@ module RuboCop
|
|
271
273
|
'--display-only-fail-level-offenses'
|
272
274
|
end
|
273
275
|
validate_auto_gen_config
|
276
|
+
validate_auto_correct
|
274
277
|
validate_parallel
|
275
278
|
|
276
279
|
return if incompatible_options.size <= 1
|
@@ -278,6 +281,7 @@ module RuboCop
|
|
278
281
|
raise OptionArgumentError, 'Incompatible cli options: ' \
|
279
282
|
"#{incompatible_options.inspect}"
|
280
283
|
end
|
284
|
+
# rubocop:enable Metrics/AbcSize
|
281
285
|
|
282
286
|
def validate_auto_gen_config
|
283
287
|
return if @options.key?(:auto_gen_config)
|
@@ -293,6 +297,15 @@ module RuboCop
|
|
293
297
|
end
|
294
298
|
end
|
295
299
|
|
300
|
+
def validate_auto_correct
|
301
|
+
return if @options.key?(:auto_correct)
|
302
|
+
return unless @options.key?(:disable_uncorrectable)
|
303
|
+
|
304
|
+
raise OptionArgumentError,
|
305
|
+
format('--%<flag>s can only be used together with --auto-correct.',
|
306
|
+
flag: '--disable-uncorrectable')
|
307
|
+
end
|
308
|
+
|
296
309
|
def validate_parallel
|
297
310
|
return unless @options.key?(:parallel)
|
298
311
|
|
@@ -354,8 +367,9 @@ module RuboCop
|
|
354
367
|
# This module contains help texts for command line options.
|
355
368
|
module OptionsHelp
|
356
369
|
MAX_EXCL = RuboCop::Options::DEFAULT_MAXIMUM_EXCLUSION_ITEMS.to_s
|
357
|
-
|
358
370
|
# rubocop:disable Metrics/LineLength
|
371
|
+
FORMATTER_OPTION_LIST = RuboCop::Formatter::FormatterSet::BUILTIN_FORMATTERS_FOR_KEYS.keys
|
372
|
+
|
359
373
|
TEXT = {
|
360
374
|
only: 'Run only the given cop(s).',
|
361
375
|
only_guide_cops: ['Run only cops for rules that link to a',
|
@@ -379,6 +393,9 @@ module RuboCop
|
|
379
393
|
exclude_limit: ['Used together with --auto-gen-config to',
|
380
394
|
'set the limit for how many Exclude',
|
381
395
|
"properties to generate. Default is #{MAX_EXCL}."],
|
396
|
+
disable_uncorrectable: ['Used with --auto-correct to annotate any',
|
397
|
+
'offenses that do not support autocorrect',
|
398
|
+
'with `rubocop:todo` comments.'],
|
382
399
|
force_exclusion: ['Force excluding files specified in the',
|
383
400
|
'configuration `Exclude` even if they are',
|
384
401
|
'explicitly passed as arguments.'],
|
@@ -391,20 +408,8 @@ module RuboCop
|
|
391
408
|
format: ['Choose an output formatter. This option',
|
392
409
|
'can be specified multiple times to enable',
|
393
410
|
'multiple formatters at the same time.',
|
394
|
-
'
|
395
|
-
|
396
|
-
' [c]lang',
|
397
|
-
' [d]isabled cops via inline comments',
|
398
|
-
' [fu]ubar',
|
399
|
-
' [e]macs',
|
400
|
-
' [j]son',
|
401
|
-
' [h]tml',
|
402
|
-
' [fi]les',
|
403
|
-
' [o]ffenses',
|
404
|
-
' [w]orst',
|
405
|
-
' [t]ap',
|
406
|
-
' [q]uiet',
|
407
|
-
' [a]utogenconf',
|
411
|
+
'[p]rogress is used by default',
|
412
|
+
*FORMATTER_OPTION_LIST.map { |item| " #{item}" },
|
408
413
|
' custom formatter class name'],
|
409
414
|
out: ['Write output to a file instead of STDOUT.',
|
410
415
|
'This option applies to the previously',
|
@@ -429,7 +434,6 @@ module RuboCop
|
|
429
434
|
'Default is true.'],
|
430
435
|
display_style_guide: 'Display style guide URLs in offense messages.',
|
431
436
|
extra_details: 'Display extra details in offense messages.',
|
432
|
-
rails: 'Run extra Rails cops.',
|
433
437
|
lint: 'Run only lint cops.',
|
434
438
|
safe: 'Run only safe cops.',
|
435
439
|
list_target_files: 'List all files RuboCop will inspect.',
|
data/lib/rubocop/path_util.rb
CHANGED
@@ -123,6 +123,10 @@ module RuboCop
|
|
123
123
|
lines[token.line - 2]
|
124
124
|
end
|
125
125
|
|
126
|
+
def current_line(token)
|
127
|
+
lines[token.line - 1]
|
128
|
+
end
|
129
|
+
|
126
130
|
def following_line(token)
|
127
131
|
lines[token.line]
|
128
132
|
end
|
@@ -187,7 +191,8 @@ module RuboCop
|
|
187
191
|
require 'parser/ruby27'
|
188
192
|
Parser::Ruby27
|
189
193
|
else
|
190
|
-
raise ArgumentError,
|
194
|
+
raise ArgumentError,
|
195
|
+
"RuboCop found unknown Ruby version: #{ruby_version.inspect}"
|
191
196
|
end
|
192
197
|
end
|
193
198
|
# rubocop:enable Metrics/MethodLength
|
@@ -132,7 +132,10 @@ module RuboCop
|
|
132
132
|
def expect_no_offenses(source, file = nil)
|
133
133
|
inspect_source(source, file)
|
134
134
|
|
135
|
-
|
135
|
+
expected_annotations = AnnotatedSource.parse(source)
|
136
|
+
actual_annotations =
|
137
|
+
expected_annotations.with_offense_annotations(cop.offenses)
|
138
|
+
expect(actual_annotations.to_s).to eq(source)
|
136
139
|
end
|
137
140
|
|
138
141
|
# Parsed representation of code annotated with the `^^^ Message` style
|
@@ -47,7 +47,6 @@ RSpec.shared_context 'config', :config do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
hash = { 'AllCops' => { 'TargetRubyVersion' => ruby_version } }
|
50
|
-
hash['Rails'] = { 'Enabled' => true } if enabled_rails
|
51
50
|
hash['AllCops']['TargetRailsVersion'] = rails_version if rails_version
|
52
51
|
if respond_to?(:cop_config)
|
53
52
|
cop_name = described_class.cop_name
|
@@ -62,6 +61,18 @@ RSpec.shared_context 'config', :config do
|
|
62
61
|
end
|
63
62
|
end
|
64
63
|
|
64
|
+
RSpec.shared_context 'mock console output' do
|
65
|
+
before do
|
66
|
+
$stdout = StringIO.new
|
67
|
+
$stderr = StringIO.new
|
68
|
+
end
|
69
|
+
|
70
|
+
after do
|
71
|
+
$stdout = STDOUT
|
72
|
+
$stderr = STDERR
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
65
76
|
RSpec.shared_context 'ruby 2.3', :ruby23 do
|
66
77
|
let(:ruby_version) { 2.3 }
|
67
78
|
end
|
@@ -77,19 +88,3 @@ end
|
|
77
88
|
RSpec.shared_context 'ruby 2.6', :ruby26 do
|
78
89
|
let(:ruby_version) { 2.6 }
|
79
90
|
end
|
80
|
-
|
81
|
-
RSpec.shared_context 'with Rails', :enabled_rails do
|
82
|
-
let(:enabled_rails) { true }
|
83
|
-
end
|
84
|
-
|
85
|
-
RSpec.shared_context 'with Rails 3', :rails3 do
|
86
|
-
let(:rails_version) { 3.0 }
|
87
|
-
end
|
88
|
-
|
89
|
-
RSpec.shared_context 'with Rails 4', :rails4 do
|
90
|
-
let(:rails_version) { 4.0 }
|
91
|
-
end
|
92
|
-
|
93
|
-
RSpec.shared_context 'with Rails 5', :rails5 do
|
94
|
-
let(:rails_version) { 5.0 }
|
95
|
-
end
|
data/lib/rubocop/runner.rb
CHANGED
@@ -24,14 +24,6 @@ module RuboCop
|
|
24
24
|
|
25
25
|
def initialize(options, config_store)
|
26
26
|
@options = options
|
27
|
-
|
28
|
-
if @options.key?(:rails)
|
29
|
-
warn <<~MESSAGE
|
30
|
-
`-R/--rails` option and Rails cops will be removed from RuboCop 0.72. Use the `rubocop-rails` gem instead.
|
31
|
-
https://github.com/rubocop-hq/rubocop/blob/master/manual/migrate_rails_cops.md
|
32
|
-
MESSAGE
|
33
|
-
end
|
34
|
-
|
35
27
|
@config_store = config_store
|
36
28
|
@errors = []
|
37
29
|
@warnings = []
|
@@ -163,10 +155,10 @@ module RuboCop
|
|
163
155
|
if cop.relevant_file?(file)
|
164
156
|
cop.check(offenses, source.disabled_line_ranges, source.comments)
|
165
157
|
offenses += cop.offenses
|
166
|
-
autocorrect_unneeded_disables(source, cop
|
158
|
+
offenses += autocorrect_unneeded_disables(file, source, cop,
|
159
|
+
offenses)
|
167
160
|
end
|
168
161
|
end
|
169
|
-
offenses
|
170
162
|
end
|
171
163
|
|
172
164
|
offenses.sort.reject(&:disabled?).freeze
|
@@ -180,14 +172,20 @@ module RuboCop
|
|
180
172
|
@options[:except] || @options[:only]
|
181
173
|
end
|
182
174
|
|
183
|
-
def autocorrect_unneeded_disables(source, cop)
|
175
|
+
def autocorrect_unneeded_disables(file, source, cop, offenses)
|
184
176
|
cop.processed_source = source
|
185
177
|
|
186
|
-
Cop::Team.new(
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
178
|
+
team = Cop::Team.new(RuboCop::Cop::Registry.new, nil, @options)
|
179
|
+
team.autocorrect(source.buffer, [cop])
|
180
|
+
|
181
|
+
return [] unless team.updated_source_file?
|
182
|
+
|
183
|
+
# Do one extra inspection loop if any unneeded disables were
|
184
|
+
# removed. This is done in order to find rubocop:enable directives that
|
185
|
+
# have now become useless.
|
186
|
+
_source, new_offenses = do_inspection_loop(file,
|
187
|
+
get_processed_source(file))
|
188
|
+
new_offenses - offenses
|
191
189
|
end
|
192
190
|
|
193
191
|
def file_started(file)
|
@@ -281,10 +279,6 @@ module RuboCop
|
|
281
279
|
|
282
280
|
def inspect_file(processed_source)
|
283
281
|
config = @config_store.for(processed_source.path)
|
284
|
-
if @options[:rails] ||
|
285
|
-
ConfigLoader.required_features.include?('rubocop-rails')
|
286
|
-
enable_rails_cops(config)
|
287
|
-
end
|
288
282
|
team = Cop::Team.new(mobilized_cop_classes(config), config, @options)
|
289
283
|
offenses = team.inspect_file(processed_source)
|
290
284
|
@errors.concat(team.errors)
|
@@ -292,11 +286,6 @@ module RuboCop
|
|
292
286
|
[offenses, team.updated_source_file?]
|
293
287
|
end
|
294
288
|
|
295
|
-
def enable_rails_cops(config)
|
296
|
-
config['Rails'] ||= {}
|
297
|
-
config['Rails']['Enabled'] = true
|
298
|
-
end
|
299
|
-
|
300
289
|
def mobilized_cop_classes(config)
|
301
290
|
@mobilized_cop_classes ||= {}
|
302
291
|
@mobilized_cop_classes[config.object_id] ||= begin
|
@@ -65,10 +65,12 @@ module RuboCop
|
|
65
65
|
to_inspect?(file, hidden_files, base_dir_config)
|
66
66
|
end
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
68
|
+
if fail_fast?
|
69
|
+
# Most recently modified file first.
|
70
|
+
target_files.sort_by! { |path| -Integer(File.mtime(path)) }
|
71
|
+
else
|
72
|
+
target_files.sort!
|
73
|
+
end
|
72
74
|
end
|
73
75
|
|
74
76
|
def to_inspect?(file, hidden_files, base_dir_config)
|
data/lib/rubocop/version.rb
CHANGED
@@ -4,8 +4,14 @@ module RuboCop
|
|
4
4
|
# Find duplicated keys from YAML.
|
5
5
|
module YAMLDuplicationChecker
|
6
6
|
def self.check(yaml_string, filename, &on_duplicated)
|
7
|
-
#
|
8
|
-
tree =
|
7
|
+
# Ruby 2.6+
|
8
|
+
tree = if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0')
|
9
|
+
# Specify filename to display helpful message when it raises
|
10
|
+
# an error.
|
11
|
+
YAML.parse(yaml_string, filename: filename)
|
12
|
+
else
|
13
|
+
YAML.parse(yaml_string, filename)
|
14
|
+
end
|
9
15
|
return unless tree
|
10
16
|
|
11
17
|
traverse(tree, &on_duplicated)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.75.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-10-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jaro_winkler
|
@@ -128,20 +128,6 @@ dependencies:
|
|
128
128
|
- - "<"
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '3.0'
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: rack
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - ">="
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '2.0'
|
138
|
-
type: :development
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '2.0'
|
145
131
|
description: |2
|
146
132
|
Automatic Ruby code style checking tool.
|
147
133
|
Aims to enforce the community-driven Ruby Style Guide.
|
@@ -175,9 +161,11 @@ files:
|
|
175
161
|
- lib/rubocop/ast/node/def_node.rb
|
176
162
|
- lib/rubocop/ast/node/defined_node.rb
|
177
163
|
- lib/rubocop/ast/node/ensure_node.rb
|
164
|
+
- lib/rubocop/ast/node/float_node.rb
|
178
165
|
- lib/rubocop/ast/node/for_node.rb
|
179
166
|
- lib/rubocop/ast/node/hash_node.rb
|
180
167
|
- lib/rubocop/ast/node/if_node.rb
|
168
|
+
- lib/rubocop/ast/node/int_node.rb
|
181
169
|
- lib/rubocop/ast/node/keyword_splat_node.rb
|
182
170
|
- lib/rubocop/ast/node/mixin/basic_literal_node.rb
|
183
171
|
- lib/rubocop/ast/node/mixin/binary_operator_node.rb
|
@@ -187,6 +175,7 @@ files:
|
|
187
175
|
- lib/rubocop/ast/node/mixin/method_dispatch_node.rb
|
188
176
|
- lib/rubocop/ast/node/mixin/method_identifier_predicates.rb
|
189
177
|
- lib/rubocop/ast/node/mixin/modifier_node.rb
|
178
|
+
- lib/rubocop/ast/node/mixin/numeric_node.rb
|
190
179
|
- lib/rubocop/ast/node/mixin/parameterized_node.rb
|
191
180
|
- lib/rubocop/ast/node/mixin/predicate_operator_node.rb
|
192
181
|
- lib/rubocop/ast/node/module_node.rb
|
@@ -213,7 +202,9 @@ files:
|
|
213
202
|
- lib/rubocop/config.rb
|
214
203
|
- lib/rubocop/config_loader.rb
|
215
204
|
- lib/rubocop/config_loader_resolver.rb
|
205
|
+
- lib/rubocop/config_obsoletion.rb
|
216
206
|
- lib/rubocop/config_store.rb
|
207
|
+
- lib/rubocop/config_validator.rb
|
217
208
|
- lib/rubocop/cop/autocorrect_logic.rb
|
218
209
|
- lib/rubocop/cop/badge.rb
|
219
210
|
- lib/rubocop/cop/bundler/duplicated_gem.rb
|
@@ -242,6 +233,7 @@ files:
|
|
242
233
|
- lib/rubocop/cop/gemspec/duplicated_assignment.rb
|
243
234
|
- lib/rubocop/cop/gemspec/ordered_dependencies.rb
|
244
235
|
- lib/rubocop/cop/gemspec/required_ruby_version.rb
|
236
|
+
- lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb
|
245
237
|
- lib/rubocop/cop/generator.rb
|
246
238
|
- lib/rubocop/cop/generator/configuration_injector.rb
|
247
239
|
- lib/rubocop/cop/generator/require_file_injector.rb
|
@@ -397,6 +389,7 @@ files:
|
|
397
389
|
- lib/rubocop/cop/lint/safe_navigation_consistency.rb
|
398
390
|
- lib/rubocop/cop/lint/safe_navigation_with_empty.rb
|
399
391
|
- lib/rubocop/cop/lint/script_permission.rb
|
392
|
+
- lib/rubocop/cop/lint/send_with_mixin_argument.rb
|
400
393
|
- lib/rubocop/cop/lint/shadowed_argument.rb
|
401
394
|
- lib/rubocop/cop/lint/shadowed_exception.rb
|
402
395
|
- lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
|
@@ -432,6 +425,7 @@ files:
|
|
432
425
|
- lib/rubocop/cop/metrics/parameter_lists.rb
|
433
426
|
- lib/rubocop/cop/metrics/perceived_complexity.rb
|
434
427
|
- lib/rubocop/cop/metrics/utils/abc_size_calculator.rb
|
428
|
+
- lib/rubocop/cop/migration/department_name.rb
|
435
429
|
- lib/rubocop/cop/mixin/alignment.rb
|
436
430
|
- lib/rubocop/cop/mixin/annotation_comment.rb
|
437
431
|
- lib/rubocop/cop/mixin/array_min_size.rb
|
@@ -456,10 +450,10 @@ files:
|
|
456
450
|
- lib/rubocop/cop/mixin/frozen_string_literal.rb
|
457
451
|
- lib/rubocop/cop/mixin/hash_alignment.rb
|
458
452
|
- lib/rubocop/cop/mixin/heredoc.rb
|
459
|
-
- lib/rubocop/cop/mixin/ignored_method_patterns.rb
|
460
453
|
- lib/rubocop/cop/mixin/ignored_methods.rb
|
461
454
|
- lib/rubocop/cop/mixin/ignored_pattern.rb
|
462
455
|
- lib/rubocop/cop/mixin/integer_node.rb
|
456
|
+
- lib/rubocop/cop/mixin/interpolation.rb
|
463
457
|
- lib/rubocop/cop/mixin/match_range.rb
|
464
458
|
- lib/rubocop/cop/mixin/method_complexity.rb
|
465
459
|
- lib/rubocop/cop/mixin/method_preference.rb
|
@@ -488,7 +482,6 @@ files:
|
|
488
482
|
- lib/rubocop/cop/mixin/string_help.rb
|
489
483
|
- lib/rubocop/cop/mixin/string_literals_help.rb
|
490
484
|
- lib/rubocop/cop/mixin/surrounding_space.rb
|
491
|
-
- lib/rubocop/cop/mixin/target_rails_version.rb
|
492
485
|
- lib/rubocop/cop/mixin/target_ruby_version.rb
|
493
486
|
- lib/rubocop/cop/mixin/too_many_lines.rb
|
494
487
|
- lib/rubocop/cop/mixin/trailing_body.rb
|
@@ -512,57 +505,6 @@ files:
|
|
512
505
|
- lib/rubocop/cop/naming/variable_name.rb
|
513
506
|
- lib/rubocop/cop/naming/variable_number.rb
|
514
507
|
- lib/rubocop/cop/offense.rb
|
515
|
-
- lib/rubocop/cop/rails/action_filter.rb
|
516
|
-
- lib/rubocop/cop/rails/active_record_aliases.rb
|
517
|
-
- lib/rubocop/cop/rails/active_record_override.rb
|
518
|
-
- lib/rubocop/cop/rails/active_support_aliases.rb
|
519
|
-
- lib/rubocop/cop/rails/application_job.rb
|
520
|
-
- lib/rubocop/cop/rails/application_record.rb
|
521
|
-
- lib/rubocop/cop/rails/assert_not.rb
|
522
|
-
- lib/rubocop/cop/rails/belongs_to.rb
|
523
|
-
- lib/rubocop/cop/rails/blank.rb
|
524
|
-
- lib/rubocop/cop/rails/bulk_change_table.rb
|
525
|
-
- lib/rubocop/cop/rails/create_table_with_timestamps.rb
|
526
|
-
- lib/rubocop/cop/rails/date.rb
|
527
|
-
- lib/rubocop/cop/rails/delegate.rb
|
528
|
-
- lib/rubocop/cop/rails/delegate_allow_blank.rb
|
529
|
-
- lib/rubocop/cop/rails/dynamic_find_by.rb
|
530
|
-
- lib/rubocop/cop/rails/enum_uniqueness.rb
|
531
|
-
- lib/rubocop/cop/rails/environment_comparison.rb
|
532
|
-
- lib/rubocop/cop/rails/exit.rb
|
533
|
-
- lib/rubocop/cop/rails/file_path.rb
|
534
|
-
- lib/rubocop/cop/rails/find_by.rb
|
535
|
-
- lib/rubocop/cop/rails/find_each.rb
|
536
|
-
- lib/rubocop/cop/rails/has_and_belongs_to_many.rb
|
537
|
-
- lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb
|
538
|
-
- lib/rubocop/cop/rails/http_positional_arguments.rb
|
539
|
-
- lib/rubocop/cop/rails/http_status.rb
|
540
|
-
- lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb
|
541
|
-
- lib/rubocop/cop/rails/inverse_of.rb
|
542
|
-
- lib/rubocop/cop/rails/lexically_scoped_action_filter.rb
|
543
|
-
- lib/rubocop/cop/rails/link_to_blank.rb
|
544
|
-
- lib/rubocop/cop/rails/not_null_column.rb
|
545
|
-
- lib/rubocop/cop/rails/output.rb
|
546
|
-
- lib/rubocop/cop/rails/output_safety.rb
|
547
|
-
- lib/rubocop/cop/rails/pluralization_grammar.rb
|
548
|
-
- lib/rubocop/cop/rails/presence.rb
|
549
|
-
- lib/rubocop/cop/rails/present.rb
|
550
|
-
- lib/rubocop/cop/rails/read_write_attribute.rb
|
551
|
-
- lib/rubocop/cop/rails/redundant_allow_nil.rb
|
552
|
-
- lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb
|
553
|
-
- lib/rubocop/cop/rails/reflection_class_name.rb
|
554
|
-
- lib/rubocop/cop/rails/refute_methods.rb
|
555
|
-
- lib/rubocop/cop/rails/relative_date_constant.rb
|
556
|
-
- lib/rubocop/cop/rails/request_referer.rb
|
557
|
-
- lib/rubocop/cop/rails/reversible_migration.rb
|
558
|
-
- lib/rubocop/cop/rails/safe_navigation.rb
|
559
|
-
- lib/rubocop/cop/rails/save_bang.rb
|
560
|
-
- lib/rubocop/cop/rails/scope_args.rb
|
561
|
-
- lib/rubocop/cop/rails/skips_model_validations.rb
|
562
|
-
- lib/rubocop/cop/rails/time_zone.rb
|
563
|
-
- lib/rubocop/cop/rails/uniq_before_pluck.rb
|
564
|
-
- lib/rubocop/cop/rails/unknown_env.rb
|
565
|
-
- lib/rubocop/cop/rails/validation.rb
|
566
508
|
- lib/rubocop/cop/registry.rb
|
567
509
|
- lib/rubocop/cop/security/eval.rb
|
568
510
|
- lib/rubocop/cop/security/json_load.rb
|
@@ -602,6 +544,7 @@ files:
|
|
602
544
|
- lib/rubocop/cop/style/dir.rb
|
603
545
|
- lib/rubocop/cop/style/documentation.rb
|
604
546
|
- lib/rubocop/cop/style/documentation_method.rb
|
547
|
+
- lib/rubocop/cop/style/double_cop_disable_directive.rb
|
605
548
|
- lib/rubocop/cop/style/double_negation.rb
|
606
549
|
- lib/rubocop/cop/style/each_for_simple_loop.rb
|
607
550
|
- lib/rubocop/cop/style/each_with_object.rb
|
@@ -616,6 +559,7 @@ files:
|
|
616
559
|
- lib/rubocop/cop/style/eval_with_location.rb
|
617
560
|
- lib/rubocop/cop/style/even_odd.rb
|
618
561
|
- lib/rubocop/cop/style/expand_path_arguments.rb
|
562
|
+
- lib/rubocop/cop/style/float_division.rb
|
619
563
|
- lib/rubocop/cop/style/for.rb
|
620
564
|
- lib/rubocop/cop/style/format_string.rb
|
621
565
|
- lib/rubocop/cop/style/format_string_token.rb
|
@@ -653,6 +597,7 @@ files:
|
|
653
597
|
- lib/rubocop/cop/style/multiline_memoization.rb
|
654
598
|
- lib/rubocop/cop/style/multiline_method_signature.rb
|
655
599
|
- lib/rubocop/cop/style/multiline_ternary_operator.rb
|
600
|
+
- lib/rubocop/cop/style/multiline_when_then.rb
|
656
601
|
- lib/rubocop/cop/style/multiple_comparison.rb
|
657
602
|
- lib/rubocop/cop/style/mutable_constant.rb
|
658
603
|
- lib/rubocop/cop/style/negated_if.rb
|
@@ -739,6 +684,7 @@ files:
|
|
739
684
|
- lib/rubocop/cop/style/zero_length_predicate.rb
|
740
685
|
- lib/rubocop/cop/team.rb
|
741
686
|
- lib/rubocop/cop/util.rb
|
687
|
+
- lib/rubocop/cop/utils/format_string.rb
|
742
688
|
- lib/rubocop/cop/variable_force.rb
|
743
689
|
- lib/rubocop/cop/variable_force/assignment.rb
|
744
690
|
- lib/rubocop/cop/variable_force/branch.rb
|
@@ -763,6 +709,7 @@ files:
|
|
763
709
|
- lib/rubocop/formatter/html_formatter.rb
|
764
710
|
- lib/rubocop/formatter/json_formatter.rb
|
765
711
|
- lib/rubocop/formatter/offense_count_formatter.rb
|
712
|
+
- lib/rubocop/formatter/pacman_formatter.rb
|
766
713
|
- lib/rubocop/formatter/progress_formatter.rb
|
767
714
|
- lib/rubocop/formatter/quiet_formatter.rb
|
768
715
|
- lib/rubocop/formatter/simple_text_formatter.rb
|
@@ -783,7 +730,6 @@ files:
|
|
783
730
|
- lib/rubocop/rspec/expect_offense.rb
|
784
731
|
- lib/rubocop/rspec/host_environment_simulation_helper.rb
|
785
732
|
- lib/rubocop/rspec/shared_contexts.rb
|
786
|
-
- lib/rubocop/rspec/shared_examples.rb
|
787
733
|
- lib/rubocop/rspec/support.rb
|
788
734
|
- lib/rubocop/runner.rb
|
789
735
|
- lib/rubocop/string_interpreter.rb
|
@@ -802,28 +748,7 @@ metadata:
|
|
802
748
|
source_code_uri: https://github.com/rubocop-hq/rubocop/
|
803
749
|
documentation_uri: https://docs.rubocop.org/
|
804
750
|
bug_tracker_uri: https://github.com/rubocop-hq/rubocop/issues
|
805
|
-
post_install_message:
|
806
|
-
Rails cops will be removed from RuboCop 0.72. Use the `rubocop-rails` gem instead.
|
807
|
-
|
808
|
-
Put this in your `Gemfile`.
|
809
|
-
|
810
|
-
```rb
|
811
|
-
gem 'rubocop-rails'
|
812
|
-
```
|
813
|
-
|
814
|
-
And then execute:
|
815
|
-
|
816
|
-
```sh
|
817
|
-
$ bundle install
|
818
|
-
```
|
819
|
-
|
820
|
-
Put this into your `.rubocop.yml`.
|
821
|
-
|
822
|
-
```yaml
|
823
|
-
require: rubocop-rails
|
824
|
-
```
|
825
|
-
|
826
|
-
More information: https://github.com/rubocop-hq/rubocop-rails
|
751
|
+
post_install_message:
|
827
752
|
rdoc_options: []
|
828
753
|
require_paths:
|
829
754
|
- lib
|