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.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -8
  3. data/bin/console +1 -0
  4. data/config/default.yml +84 -488
  5. data/lib/rubocop.rb +16 -54
  6. data/lib/rubocop/ast/builder.rb +2 -0
  7. data/lib/rubocop/ast/node.rb +9 -15
  8. data/lib/rubocop/ast/node/float_node.rb +12 -0
  9. data/lib/rubocop/ast/node/int_node.rb +12 -0
  10. data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +4 -4
  11. data/lib/rubocop/ast/node/mixin/numeric_node.rb +21 -0
  12. data/lib/rubocop/ast/node/resbody_node.rb +1 -6
  13. data/lib/rubocop/ast/traversal.rb +3 -3
  14. data/lib/rubocop/cached_data.rb +1 -1
  15. data/lib/rubocop/comment_config.rb +3 -2
  16. data/lib/rubocop/config.rb +21 -508
  17. data/lib/rubocop/config_loader.rb +22 -8
  18. data/lib/rubocop/config_loader_resolver.rb +2 -16
  19. data/lib/rubocop/config_obsoletion.rb +213 -0
  20. data/lib/rubocop/config_validator.rb +239 -0
  21. data/lib/rubocop/cop/autocorrect_logic.rb +71 -1
  22. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +1 -1
  23. data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -1
  24. data/lib/rubocop/cop/commissioner.rb +3 -9
  25. data/lib/rubocop/cop/cop.rb +39 -12
  26. data/lib/rubocop/cop/corrector.rb +2 -3
  27. data/lib/rubocop/cop/correctors/alignment_corrector.rb +43 -17
  28. data/lib/rubocop/cop/correctors/empty_line_corrector.rb +2 -2
  29. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +2 -2
  30. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
  31. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +2 -2
  32. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
  33. data/lib/rubocop/cop/gemspec/required_ruby_version.rb +1 -1
  34. data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +55 -0
  35. data/lib/rubocop/cop/generator.rb +4 -4
  36. data/lib/rubocop/cop/generator/configuration_injector.rb +9 -4
  37. data/lib/rubocop/cop/generator/require_file_injector.rb +1 -1
  38. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +2 -2
  39. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -1
  40. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +2 -2
  41. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
  42. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +2 -2
  43. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -2
  44. data/lib/rubocop/cop/layout/block_alignment.rb +3 -3
  45. data/lib/rubocop/cop/layout/class_structure.rb +2 -2
  46. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
  47. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +22 -7
  48. data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +2 -2
  49. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +2 -2
  50. data/lib/rubocop/cop/layout/extra_spacing.rb +14 -59
  51. data/lib/rubocop/cop/layout/indent_assignment.rb +10 -1
  52. data/lib/rubocop/cop/layout/indent_first_argument.rb +7 -3
  53. data/lib/rubocop/cop/layout/indent_first_parameter.rb +7 -3
  54. data/lib/rubocop/cop/layout/indent_heredoc.rb +4 -4
  55. data/lib/rubocop/cop/layout/indentation_consistency.rb +13 -12
  56. data/lib/rubocop/cop/layout/indentation_width.rb +28 -10
  57. data/lib/rubocop/cop/layout/leading_comment_space.rb +28 -0
  58. data/lib/rubocop/cop/layout/multiline_block_layout.rb +24 -2
  59. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +18 -4
  60. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +5 -1
  61. data/lib/rubocop/cop/layout/space_around_operators.rb +42 -23
  62. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +1 -1
  63. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +21 -2
  64. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +24 -40
  65. data/lib/rubocop/cop/layout/tab.rb +10 -22
  66. data/lib/rubocop/cop/lint/assignment_in_condition.rb +17 -4
  67. data/lib/rubocop/cop/lint/big_decimal_new.rb +1 -1
  68. data/lib/rubocop/cop/lint/debugger.rb +4 -6
  69. data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -3
  70. data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
  71. data/lib/rubocop/cop/lint/empty_interpolation.rb +4 -4
  72. data/lib/rubocop/cop/lint/erb_new_arguments.rb +57 -1
  73. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +11 -37
  74. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
  75. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -1
  76. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -8
  77. data/lib/rubocop/cop/lint/multiple_compare.rb +1 -1
  78. data/lib/rubocop/cop/lint/nested_method_definition.rb +3 -3
  79. data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
  80. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +1 -1
  81. data/lib/rubocop/cop/lint/number_conversion.rb +4 -4
  82. data/lib/rubocop/cop/lint/rand_one.rb +1 -1
  83. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -1
  84. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
  85. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +5 -5
  86. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -1
  87. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +91 -0
  88. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +6 -6
  89. data/lib/rubocop/cop/lint/unified_integer.rb +1 -1
  90. data/lib/rubocop/cop/lint/unneeded_cop_disable_directive.rb +1 -1
  91. data/lib/rubocop/cop/lint/unneeded_require_statement.rb +1 -1
  92. data/lib/rubocop/cop/lint/unneeded_splat_expansion.rb +7 -2
  93. data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
  94. data/lib/rubocop/cop/lint/unused_block_argument.rb +22 -6
  95. data/lib/rubocop/cop/lint/unused_method_argument.rb +23 -5
  96. data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
  97. data/lib/rubocop/cop/lint/uri_regexp.rb +2 -2
  98. data/lib/rubocop/cop/lint/useless_access_modifier.rb +6 -6
  99. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
  100. data/lib/rubocop/cop/lint/void.rb +3 -22
  101. data/lib/rubocop/cop/message_annotator.rb +16 -7
  102. data/lib/rubocop/cop/metrics/class_length.rb +1 -1
  103. data/lib/rubocop/cop/metrics/line_length.rb +6 -0
  104. data/lib/rubocop/cop/metrics/module_length.rb +1 -1
  105. data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
  106. data/lib/rubocop/cop/migration/department_name.rb +44 -0
  107. data/lib/rubocop/cop/mixin/alignment.rb +1 -1
  108. data/lib/rubocop/cop/mixin/def_node.rb +1 -1
  109. data/lib/rubocop/cop/mixin/documentation_comment.rb +0 -2
  110. data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -1
  111. data/lib/rubocop/cop/mixin/enforce_superclass.rb +4 -4
  112. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +1 -1
  113. data/lib/rubocop/cop/mixin/interpolation.rb +27 -0
  114. data/lib/rubocop/cop/mixin/method_complexity.rb +1 -1
  115. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +3 -3
  116. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +87 -0
  117. data/lib/rubocop/cop/mixin/safe_mode.rb +2 -0
  118. data/lib/rubocop/cop/mixin/surrounding_space.rb +7 -5
  119. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
  120. data/lib/rubocop/cop/naming/constant_name.rb +2 -2
  121. data/lib/rubocop/cop/naming/method_name.rb +12 -1
  122. data/lib/rubocop/cop/naming/predicate_name.rb +1 -1
  123. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +21 -20
  124. data/lib/rubocop/cop/naming/variable_name.rb +1 -0
  125. data/lib/rubocop/cop/offense.rb +18 -7
  126. data/lib/rubocop/cop/registry.rb +22 -1
  127. data/lib/rubocop/cop/security/eval.rb +1 -1
  128. data/lib/rubocop/cop/security/json_load.rb +1 -1
  129. data/lib/rubocop/cop/security/marshal_load.rb +1 -1
  130. data/lib/rubocop/cop/security/open.rb +1 -1
  131. data/lib/rubocop/cop/security/yaml_load.rb +1 -1
  132. data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -0
  133. data/lib/rubocop/cop/style/alias.rb +1 -1
  134. data/lib/rubocop/cop/style/block_delimiters.rb +2 -1
  135. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +29 -10
  136. data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
  137. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  138. data/lib/rubocop/cop/style/commented_keyword.rb +16 -30
  139. data/lib/rubocop/cop/style/conditional_assignment.rb +8 -9
  140. data/lib/rubocop/cop/style/constant_visibility.rb +14 -3
  141. data/lib/rubocop/cop/style/date_time.rb +3 -3
  142. data/lib/rubocop/cop/style/dir.rb +1 -1
  143. data/lib/rubocop/cop/style/documentation_method.rb +45 -1
  144. data/lib/rubocop/cop/style/double_cop_disable_directive.rb +55 -0
  145. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
  146. data/lib/rubocop/cop/style/each_with_object.rb +1 -1
  147. data/lib/rubocop/cop/style/eval_with_location.rb +2 -2
  148. data/lib/rubocop/cop/style/even_odd.rb +1 -1
  149. data/lib/rubocop/cop/style/expand_path_arguments.rb +4 -4
  150. data/lib/rubocop/cop/style/float_division.rb +94 -0
  151. data/lib/rubocop/cop/style/format_string.rb +13 -9
  152. data/lib/rubocop/cop/style/format_string_token.rb +18 -69
  153. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +18 -33
  154. data/lib/rubocop/cop/style/guard_clause.rb +39 -10
  155. data/lib/rubocop/cop/style/hash_syntax.rb +2 -2
  156. data/lib/rubocop/cop/style/if_inside_else.rb +42 -0
  157. data/lib/rubocop/cop/style/if_unless_modifier.rb +51 -15
  158. data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
  159. data/lib/rubocop/cop/style/inverse_methods.rb +2 -2
  160. data/lib/rubocop/cop/style/lambda.rb +0 -2
  161. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +32 -26
  162. data/lib/rubocop/cop/style/min_max.rb +1 -1
  163. data/lib/rubocop/cop/style/mixin_usage.rb +12 -2
  164. data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
  165. data/lib/rubocop/cop/style/multiline_when_then.rb +55 -0
  166. data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
  167. data/lib/rubocop/cop/style/mutable_constant.rb +3 -3
  168. data/lib/rubocop/cop/style/nested_modifier.rb +18 -2
  169. data/lib/rubocop/cop/style/numeric_predicate.rb +3 -3
  170. data/lib/rubocop/cop/style/option_hash.rb +1 -1
  171. data/lib/rubocop/cop/style/or_assignment.rb +8 -3
  172. data/lib/rubocop/cop/style/parentheses_around_condition.rb +15 -1
  173. data/lib/rubocop/cop/style/random_with_offset.rb +6 -6
  174. data/lib/rubocop/cop/style/redundant_conditional.rb +2 -2
  175. data/lib/rubocop/cop/style/redundant_exception.rb +2 -2
  176. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -1
  177. data/lib/rubocop/cop/style/redundant_parentheses.rb +15 -6
  178. data/lib/rubocop/cop/style/redundant_return.rb +12 -0
  179. data/lib/rubocop/cop/style/redundant_self.rb +18 -1
  180. data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -1
  181. data/lib/rubocop/cop/style/rescue_modifier.rb +24 -0
  182. data/lib/rubocop/cop/style/rescue_standard_error.rb +2 -2
  183. data/lib/rubocop/cop/style/return_nil.rb +1 -1
  184. data/lib/rubocop/cop/style/safe_navigation.rb +19 -2
  185. data/lib/rubocop/cop/style/sample.rb +1 -1
  186. data/lib/rubocop/cop/style/semicolon.rb +11 -0
  187. data/lib/rubocop/cop/style/single_line_methods.rb +8 -1
  188. data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
  189. data/lib/rubocop/cop/style/string_hash_keys.rb +2 -2
  190. data/lib/rubocop/cop/style/strip.rb +1 -1
  191. data/lib/rubocop/cop/style/struct_inheritance.rb +3 -3
  192. data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
  193. data/lib/rubocop/cop/style/ternary_parentheses.rb +32 -3
  194. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +4 -6
  195. data/lib/rubocop/cop/style/trivial_accessors.rb +1 -1
  196. data/lib/rubocop/cop/style/unneeded_sort.rb +1 -1
  197. data/lib/rubocop/cop/style/unpack_first.rb +1 -1
  198. data/lib/rubocop/cop/style/variable_interpolation.rb +6 -16
  199. data/lib/rubocop/cop/style/word_array.rb +2 -2
  200. data/lib/rubocop/cop/style/zero_length_predicate.rb +6 -6
  201. data/lib/rubocop/cop/team.rb +15 -14
  202. data/lib/rubocop/cop/utils/format_string.rb +128 -0
  203. data/lib/rubocop/cop/variable_force/variable.rb +15 -2
  204. data/lib/rubocop/core_ext/string.rb +0 -24
  205. data/lib/rubocop/error.rb +23 -0
  206. data/lib/rubocop/formatter/clang_style_formatter.rb +8 -3
  207. data/lib/rubocop/formatter/emacs_style_formatter.rb +22 -9
  208. data/lib/rubocop/formatter/file_list_formatter.rb +1 -1
  209. data/lib/rubocop/formatter/formatter_set.rb +16 -15
  210. data/lib/rubocop/formatter/pacman_formatter.rb +80 -0
  211. data/lib/rubocop/formatter/simple_text_formatter.rb +16 -4
  212. data/lib/rubocop/formatter/tap_formatter.rb +17 -4
  213. data/lib/rubocop/magic_comment.rb +4 -0
  214. data/lib/rubocop/node_pattern.rb +2 -2
  215. data/lib/rubocop/options.rb +21 -17
  216. data/lib/rubocop/path_util.rb +1 -1
  217. data/lib/rubocop/processed_source.rb +6 -1
  218. data/lib/rubocop/rspec/cop_helper.rb +0 -1
  219. data/lib/rubocop/rspec/expect_offense.rb +4 -1
  220. data/lib/rubocop/rspec/shared_contexts.rb +12 -17
  221. data/lib/rubocop/rspec/support.rb +0 -1
  222. data/lib/rubocop/runner.rb +14 -25
  223. data/lib/rubocop/target_finder.rb +6 -4
  224. data/lib/rubocop/version.rb +1 -1
  225. data/lib/rubocop/yaml_duplication_checker.rb +8 -2
  226. metadata +17 -92
  227. data/lib/rubocop/cop/mixin/ignored_method_patterns.rb +0 -19
  228. data/lib/rubocop/cop/mixin/target_rails_version.rb +0 -16
  229. data/lib/rubocop/cop/rails/action_filter.rb +0 -117
  230. data/lib/rubocop/cop/rails/active_record_aliases.rb +0 -48
  231. data/lib/rubocop/cop/rails/active_record_override.rb +0 -82
  232. data/lib/rubocop/cop/rails/active_support_aliases.rb +0 -69
  233. data/lib/rubocop/cop/rails/application_job.rb +0 -40
  234. data/lib/rubocop/cop/rails/application_record.rb +0 -40
  235. data/lib/rubocop/cop/rails/assert_not.rb +0 -44
  236. data/lib/rubocop/cop/rails/belongs_to.rb +0 -102
  237. data/lib/rubocop/cop/rails/blank.rb +0 -164
  238. data/lib/rubocop/cop/rails/bulk_change_table.rb +0 -289
  239. data/lib/rubocop/cop/rails/create_table_with_timestamps.rb +0 -91
  240. data/lib/rubocop/cop/rails/date.rb +0 -161
  241. data/lib/rubocop/cop/rails/delegate.rb +0 -132
  242. data/lib/rubocop/cop/rails/delegate_allow_blank.rb +0 -37
  243. data/lib/rubocop/cop/rails/dynamic_find_by.rb +0 -91
  244. data/lib/rubocop/cop/rails/enum_uniqueness.rb +0 -45
  245. data/lib/rubocop/cop/rails/environment_comparison.rb +0 -68
  246. data/lib/rubocop/cop/rails/exit.rb +0 -67
  247. data/lib/rubocop/cop/rails/file_path.rb +0 -108
  248. data/lib/rubocop/cop/rails/find_by.rb +0 -55
  249. data/lib/rubocop/cop/rails/find_each.rb +0 -51
  250. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +0 -25
  251. data/lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb +0 -106
  252. data/lib/rubocop/cop/rails/http_positional_arguments.rb +0 -117
  253. data/lib/rubocop/cop/rails/http_status.rb +0 -179
  254. data/lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb +0 -94
  255. data/lib/rubocop/cop/rails/inverse_of.rb +0 -246
  256. data/lib/rubocop/cop/rails/lexically_scoped_action_filter.rb +0 -175
  257. data/lib/rubocop/cop/rails/link_to_blank.rb +0 -98
  258. data/lib/rubocop/cop/rails/not_null_column.rb +0 -67
  259. data/lib/rubocop/cop/rails/output.rb +0 -49
  260. data/lib/rubocop/cop/rails/output_safety.rb +0 -99
  261. data/lib/rubocop/cop/rails/pluralization_grammar.rb +0 -107
  262. data/lib/rubocop/cop/rails/presence.rb +0 -124
  263. data/lib/rubocop/cop/rails/present.rb +0 -153
  264. data/lib/rubocop/cop/rails/read_write_attribute.rb +0 -74
  265. data/lib/rubocop/cop/rails/redundant_allow_nil.rb +0 -111
  266. data/lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb +0 -136
  267. data/lib/rubocop/cop/rails/reflection_class_name.rb +0 -37
  268. data/lib/rubocop/cop/rails/refute_methods.rb +0 -76
  269. data/lib/rubocop/cop/rails/relative_date_constant.rb +0 -93
  270. data/lib/rubocop/cop/rails/request_referer.rb +0 -56
  271. data/lib/rubocop/cop/rails/reversible_migration.rb +0 -286
  272. data/lib/rubocop/cop/rails/safe_navigation.rb +0 -87
  273. data/lib/rubocop/cop/rails/save_bang.rb +0 -316
  274. data/lib/rubocop/cop/rails/scope_args.rb +0 -29
  275. data/lib/rubocop/cop/rails/skips_model_validations.rb +0 -87
  276. data/lib/rubocop/cop/rails/time_zone.rb +0 -238
  277. data/lib/rubocop/cop/rails/uniq_before_pluck.rb +0 -105
  278. data/lib/rubocop/cop/rails/unknown_env.rb +0 -63
  279. data/lib/rubocop/cop/rails/validation.rb +0 -109
  280. 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("%s:%3d:%3d: %s\n",
46
- colored_severity_code(o),
47
- o.line, o.real_column, message(o))
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 = offense.corrected? ? green('[Corrected] ') : ''
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("# %s:%d:%d: %s: %s\n",
46
- cyan(smart_path(file)), offense.line, offense.real_column,
47
- colored_severity_code(offense), message(offense))
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 = offense.corrected? ? '[Corrected] ' : ''
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
@@ -42,6 +42,10 @@ module RuboCop
42
42
  frozen_string_literal == true
43
43
  end
44
44
 
45
+ def valid_literal_value?
46
+ [true, false].include?(frozen_string_literal)
47
+ end
48
+
45
49
  # Was a magic comment for the frozen string literal found?
46
50
  #
47
51
  # @return [Boolean]
@@ -612,7 +612,7 @@ module RuboCop
612
612
  end
613
613
 
614
614
  def emit_method_code
615
- <<-RUBY
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
- <<-RUBY
749
+ <<~RUBY
750
750
  def #{method_name}(node0#{trailing_params})
751
751
  #{prelude}
752
752
  node0.each_node do |node|
@@ -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
- ' [p]rogress (default)',
395
- ' [s]imple',
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.',
@@ -51,7 +51,7 @@ module RuboCop
51
51
 
52
52
  # Returns true for an absolute Unix or Windows path.
53
53
  def absolute?(path)
54
- path =~ %r{\A([A-Z]:)?/}
54
+ path =~ %r{\A([A-Z]:)?/}i
55
55
  end
56
56
 
57
57
  def self.pwd
@@ -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, "Unknown Ruby version: #{ruby_version.inspect}"
194
+ raise ArgumentError,
195
+ "RuboCop found unknown Ruby version: #{ruby_version.inspect}"
191
196
  end
192
197
  end
193
198
  # rubocop:enable Metrics/MethodLength
@@ -7,7 +7,6 @@ module CopHelper
7
7
  extend RSpec::SharedContext
8
8
 
9
9
  let(:ruby_version) { 2.3 }
10
- let(:enabled_rails) { false }
11
10
  let(:rails_version) { false }
12
11
 
13
12
  def inspect_source_file(source)
@@ -132,7 +132,10 @@ module RuboCop
132
132
  def expect_no_offenses(source, file = nil)
133
133
  inspect_source(source, file)
134
134
 
135
- expect(cop.offenses).to be_empty
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
@@ -5,7 +5,6 @@
5
5
  require_relative 'cop_helper'
6
6
  require_relative 'host_environment_simulation_helper'
7
7
  require_relative 'shared_contexts'
8
- require_relative 'shared_examples'
9
8
  require_relative 'expect_offense'
10
9
 
11
10
  RSpec.configure do |config|
@@ -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
- RuboCop::Cop::Registry.new,
188
- nil,
189
- @options
190
- ).autocorrect(source.buffer, [cop])
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
- # Most recently modified file first.
69
- target_files.sort_by! { |path| -Integer(File.mtime(path)) } if fail_fast?
70
-
71
- target_files
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)
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '0.71.0'
6
+ STRING = '0.75.1'
7
7
 
8
8
  MSG = '%<version>s (using Parser %<parser_version>s, running on ' \
9
9
  '%<ruby_engine>s %<ruby_version>s %<ruby_platform>s)'
@@ -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
- # Specify filename to display helpful message when it raises an error.
8
- tree = YAML.parse(yaml_string, filename)
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.71.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-05-30 00:00:00.000000000 Z
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