rubocop 1.29.0 → 1.30.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 (459) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/config/default.yml +31 -17
  4. data/lib/rubocop/cli/command/auto_genenerate_config.rb +19 -4
  5. data/lib/rubocop/cli/command/execute_runner.rb +1 -1
  6. data/lib/rubocop/cli/command/show_cops.rb +1 -1
  7. data/lib/rubocop/cli.rb +1 -0
  8. data/lib/rubocop/config_loader.rb +2 -1
  9. data/lib/rubocop/config_validator.rb +19 -2
  10. data/lib/rubocop/cop/autocorrect_logic.rb +4 -2
  11. data/lib/rubocop/cop/base.rb +1 -1
  12. data/lib/rubocop/cop/bundler/gem_filename.rb +1 -1
  13. data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -1
  14. data/lib/rubocop/cop/correctors/condition_corrector.rb +1 -1
  15. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +1 -1
  16. data/lib/rubocop/cop/correctors/empty_line_corrector.rb +1 -1
  17. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +4 -2
  18. data/lib/rubocop/cop/correctors/if_then_corrector.rb +1 -1
  19. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +1 -1
  20. data/lib/rubocop/cop/correctors/line_break_corrector.rb +7 -1
  21. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -1
  22. data/lib/rubocop/cop/correctors/parentheses_corrector.rb +1 -1
  23. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
  24. data/lib/rubocop/cop/correctors/punctuation_corrector.rb +1 -1
  25. data/lib/rubocop/cop/correctors/space_corrector.rb +1 -1
  26. data/lib/rubocop/cop/correctors/string_literal_corrector.rb +1 -1
  27. data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +1 -1
  28. data/lib/rubocop/cop/gemspec/date_assignment.rb +1 -1
  29. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +77 -0
  30. data/lib/rubocop/cop/internal_affairs/cop_description.rb +96 -0
  31. data/lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb +1 -1
  32. data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +1 -1
  33. data/lib/rubocop/cop/internal_affairs/method_name_end_with.rb +1 -1
  34. data/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +1 -1
  35. data/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +1 -1
  36. data/lib/rubocop/cop/internal_affairs.rb +1 -0
  37. data/lib/rubocop/cop/layout/argument_alignment.rb +22 -1
  38. data/lib/rubocop/cop/layout/assignment_indentation.rb +1 -1
  39. data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -1
  40. data/lib/rubocop/cop/layout/block_alignment.rb +1 -1
  41. data/lib/rubocop/cop/layout/block_end_newline.rb +1 -1
  42. data/lib/rubocop/cop/layout/case_indentation.rb +1 -1
  43. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -1
  44. data/lib/rubocop/cop/layout/comment_indentation.rb +1 -1
  45. data/lib/rubocop/cop/layout/condition_position.rb +1 -1
  46. data/lib/rubocop/cop/layout/def_end_alignment.rb +1 -1
  47. data/lib/rubocop/cop/layout/dot_position.rb +1 -1
  48. data/lib/rubocop/cop/layout/else_alignment.rb +1 -1
  49. data/lib/rubocop/cop/layout/empty_comment.rb +1 -1
  50. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +1 -1
  51. data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +1 -1
  52. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +1 -1
  53. data/lib/rubocop/cop/layout/empty_lines.rb +1 -1
  54. data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +1 -1
  55. data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +1 -1
  56. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +5 -5
  57. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +10 -10
  58. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +1 -1
  59. data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +1 -1
  60. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +10 -10
  61. data/lib/rubocop/cop/layout/end_alignment.rb +1 -1
  62. data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
  63. data/lib/rubocop/cop/layout/extra_spacing.rb +1 -1
  64. data/lib/rubocop/cop/layout/first_argument_indentation.rb +28 -28
  65. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -1
  66. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -1
  67. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +1 -1
  68. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -1
  69. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -1
  70. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -1
  71. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +1 -1
  72. data/lib/rubocop/cop/layout/hash_alignment.rb +2 -0
  73. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +1 -1
  74. data/lib/rubocop/cop/layout/heredoc_indentation.rb +1 -1
  75. data/lib/rubocop/cop/layout/indentation_consistency.rb +1 -1
  76. data/lib/rubocop/cop/layout/indentation_style.rb +1 -1
  77. data/lib/rubocop/cop/layout/indentation_width.rb +8 -5
  78. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -1
  79. data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
  80. data/lib/rubocop/cop/layout/leading_empty_lines.rb +1 -1
  81. data/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +1 -1
  82. data/lib/rubocop/cop/layout/line_length.rb +1 -1
  83. data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +1 -1
  84. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -1
  85. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +1 -1
  86. data/lib/rubocop/cop/layout/multiline_block_layout.rb +1 -1
  87. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +1 -1
  88. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -1
  89. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
  90. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
  91. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +1 -1
  92. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +1 -1
  93. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +1 -1
  94. data/lib/rubocop/cop/layout/redundant_line_break.rb +1 -1
  95. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +1 -1
  96. data/lib/rubocop/cop/layout/single_line_block_chain.rb +1 -1
  97. data/lib/rubocop/cop/layout/space_after_not.rb +1 -1
  98. data/lib/rubocop/cop/layout/space_before_block_braces.rb +2 -2
  99. data/lib/rubocop/cop/layout/space_before_comment.rb +1 -1
  100. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +1 -1
  101. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +10 -10
  102. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +3 -3
  103. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +1 -1
  104. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +8 -8
  105. data/lib/rubocop/cop/layout/trailing_whitespace.rb +1 -1
  106. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -1
  107. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +1 -1
  108. data/lib/rubocop/cop/lint/ambiguous_operator.rb +1 -1
  109. data/lib/rubocop/cop/lint/ambiguous_operator_precedence.rb +1 -1
  110. data/lib/rubocop/cop/lint/ambiguous_range.rb +3 -3
  111. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
  112. data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
  113. data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +1 -1
  114. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -1
  115. data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
  116. data/lib/rubocop/cop/lint/debugger.rb +1 -1
  117. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
  118. data/lib/rubocop/cop/lint/deprecated_constants.rb +1 -1
  119. data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
  120. data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -1
  121. data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
  122. data/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +1 -1
  123. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
  124. data/lib/rubocop/cop/lint/duplicate_methods.rb +1 -1
  125. data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +1 -1
  126. data/lib/rubocop/cop/lint/duplicate_require.rb +1 -1
  127. data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +1 -1
  128. data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
  129. data/lib/rubocop/cop/lint/else_layout.rb +3 -3
  130. data/lib/rubocop/cop/lint/empty_block.rb +1 -1
  131. data/lib/rubocop/cop/lint/empty_class.rb +1 -1
  132. data/lib/rubocop/cop/lint/empty_conditional_body.rb +1 -1
  133. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  134. data/lib/rubocop/cop/lint/empty_expression.rb +1 -1
  135. data/lib/rubocop/cop/lint/empty_file.rb +1 -1
  136. data/lib/rubocop/cop/lint/empty_in_pattern.rb +1 -1
  137. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
  138. data/lib/rubocop/cop/lint/empty_when.rb +1 -1
  139. data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
  140. data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -0
  141. data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
  142. data/lib/rubocop/cop/lint/float_comparison.rb +1 -1
  143. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
  144. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -1
  145. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -1
  146. data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +1 -1
  147. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
  148. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -1
  149. data/lib/rubocop/cop/lint/interpolation_check.rb +1 -1
  150. data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +2 -2
  151. data/lib/rubocop/cop/lint/literal_as_condition.rb +1 -1
  152. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  153. data/lib/rubocop/cop/lint/loop.rb +1 -1
  154. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +1 -1
  155. data/lib/rubocop/cop/lint/missing_super.rb +1 -1
  156. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
  157. data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -1
  158. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +4 -4
  159. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +1 -1
  160. data/lib/rubocop/cop/lint/number_conversion.rb +1 -1
  161. data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +1 -1
  162. data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +2 -3
  163. data/lib/rubocop/cop/lint/percent_string_array.rb +1 -1
  164. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -1
  165. data/lib/rubocop/cop/lint/raise_exception.rb +1 -1
  166. data/lib/rubocop/cop/lint/rand_one.rb +1 -1
  167. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +1 -1
  168. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +1 -1
  169. data/lib/rubocop/cop/lint/redundant_require_statement.rb +3 -0
  170. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +3 -3
  171. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +1 -1
  172. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -1
  173. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -1
  174. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
  175. data/lib/rubocop/cop/lint/refinement_import_methods.rb +1 -1
  176. data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -1
  177. data/lib/rubocop/cop/lint/require_parentheses.rb +1 -1
  178. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
  179. data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -1
  180. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +3 -0
  181. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +1 -1
  182. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -1
  183. data/lib/rubocop/cop/lint/script_permission.rb +1 -1
  184. data/lib/rubocop/cop/lint/self_assignment.rb +1 -1
  185. data/lib/rubocop/cop/lint/shadowed_argument.rb +1 -1
  186. data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -1
  187. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +1 -1
  188. data/lib/rubocop/cop/lint/struct_new_override.rb +1 -1
  189. data/lib/rubocop/cop/lint/suppressed_exception.rb +1 -1
  190. data/lib/rubocop/cop/lint/symbol_conversion.rb +1 -1
  191. data/lib/rubocop/cop/lint/syntax.rb +1 -1
  192. data/lib/rubocop/cop/lint/to_enum_arguments.rb +1 -1
  193. data/lib/rubocop/cop/lint/to_json.rb +1 -1
  194. data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +1 -1
  195. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -1
  196. data/lib/rubocop/cop/lint/triple_quotes.rb +1 -1
  197. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -1
  198. data/lib/rubocop/cop/lint/unexpected_block_arity.rb +1 -1
  199. data/lib/rubocop/cop/lint/unified_integer.rb +3 -1
  200. data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
  201. data/lib/rubocop/cop/lint/unreachable_loop.rb +1 -1
  202. data/lib/rubocop/cop/lint/unused_block_argument.rb +1 -1
  203. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -1
  204. data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
  205. data/lib/rubocop/cop/lint/uri_regexp.rb +1 -1
  206. data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
  207. data/lib/rubocop/cop/lint/useless_assignment.rb +1 -1
  208. data/lib/rubocop/cop/lint/useless_method_definition.rb +1 -1
  209. data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +1 -1
  210. data/lib/rubocop/cop/lint/useless_setter_call.rb +2 -2
  211. data/lib/rubocop/cop/lint/useless_times.rb +1 -1
  212. data/lib/rubocop/cop/lint/void.rb +1 -1
  213. data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
  214. data/lib/rubocop/cop/metrics/block_length.rb +1 -1
  215. data/lib/rubocop/cop/metrics/block_nesting.rb +1 -1
  216. data/lib/rubocop/cop/metrics/class_length.rb +1 -1
  217. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -1
  218. data/lib/rubocop/cop/metrics/method_length.rb +1 -1
  219. data/lib/rubocop/cop/metrics/module_length.rb +1 -1
  220. data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
  221. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -1
  222. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +7 -2
  223. data/lib/rubocop/cop/mixin/string_help.rb +1 -1
  224. data/lib/rubocop/cop/naming/accessor_method_name.rb +4 -2
  225. data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -1
  226. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
  227. data/lib/rubocop/cop/naming/block_forwarding.rb +2 -2
  228. data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
  229. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +1 -1
  230. data/lib/rubocop/cop/naming/constant_name.rb +1 -1
  231. data/lib/rubocop/cop/naming/file_name.rb +1 -1
  232. data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +1 -1
  233. data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +1 -1
  234. data/lib/rubocop/cop/naming/inclusive_language.rb +3 -2
  235. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
  236. data/lib/rubocop/cop/naming/method_name.rb +1 -1
  237. data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
  238. data/lib/rubocop/cop/naming/predicate_name.rb +1 -1
  239. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +1 -1
  240. data/lib/rubocop/cop/naming/variable_name.rb +1 -1
  241. data/lib/rubocop/cop/naming/variable_number.rb +18 -18
  242. data/lib/rubocop/cop/security/compound_hash.rb +1 -1
  243. data/lib/rubocop/cop/security/eval.rb +1 -1
  244. data/lib/rubocop/cop/security/json_load.rb +1 -1
  245. data/lib/rubocop/cop/security/marshal_load.rb +1 -1
  246. data/lib/rubocop/cop/security/open.rb +1 -1
  247. data/lib/rubocop/cop/security/yaml_load.rb +1 -1
  248. data/lib/rubocop/cop/style/accessor_grouping.rb +3 -3
  249. data/lib/rubocop/cop/style/alias.rb +1 -1
  250. data/lib/rubocop/cop/style/and_or.rb +11 -11
  251. data/lib/rubocop/cop/style/array_coercion.rb +1 -1
  252. data/lib/rubocop/cop/style/array_join.rb +1 -1
  253. data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
  254. data/lib/rubocop/cop/style/attr.rb +1 -1
  255. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +1 -1
  256. data/lib/rubocop/cop/style/bare_percent_literals.rb +1 -1
  257. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +1 -1
  258. data/lib/rubocop/cop/style/block_comments.rb +1 -1
  259. data/lib/rubocop/cop/style/case_equality.rb +1 -1
  260. data/lib/rubocop/cop/style/case_like_if.rb +1 -1
  261. data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
  262. data/lib/rubocop/cop/style/class_check.rb +1 -1
  263. data/lib/rubocop/cop/style/class_equality_comparison.rb +1 -1
  264. data/lib/rubocop/cop/style/class_methods.rb +1 -1
  265. data/lib/rubocop/cop/style/class_methods_definitions.rb +1 -1
  266. data/lib/rubocop/cop/style/class_vars.rb +1 -1
  267. data/lib/rubocop/cop/style/collection_compact.rb +1 -1
  268. data/lib/rubocop/cop/style/collection_methods.rb +1 -1
  269. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  270. data/lib/rubocop/cop/style/colon_method_definition.rb +1 -1
  271. data/lib/rubocop/cop/style/combinable_loops.rb +1 -1
  272. data/lib/rubocop/cop/style/command_literal.rb +1 -1
  273. data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
  274. data/lib/rubocop/cop/style/commented_keyword.rb +3 -3
  275. data/lib/rubocop/cop/style/conditional_assignment.rb +1 -1
  276. data/lib/rubocop/cop/style/constant_visibility.rb +1 -1
  277. data/lib/rubocop/cop/style/date_time.rb +1 -1
  278. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -1
  279. data/lib/rubocop/cop/style/dir.rb +4 -1
  280. data/lib/rubocop/cop/style/documentation.rb +1 -1
  281. data/lib/rubocop/cop/style/documentation_method.rb +1 -1
  282. data/lib/rubocop/cop/style/double_negation.rb +1 -1
  283. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
  284. data/lib/rubocop/cop/style/each_with_object.rb +1 -1
  285. data/lib/rubocop/cop/style/empty_block_parameter.rb +1 -1
  286. data/lib/rubocop/cop/style/empty_case_condition.rb +1 -1
  287. data/lib/rubocop/cop/style/empty_else.rb +10 -10
  288. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -1
  289. data/lib/rubocop/cop/style/empty_literal.rb +1 -1
  290. data/lib/rubocop/cop/style/empty_method.rb +1 -1
  291. data/lib/rubocop/cop/style/encoding.rb +1 -1
  292. data/lib/rubocop/cop/style/end_block.rb +1 -1
  293. data/lib/rubocop/cop/style/endless_method.rb +1 -1
  294. data/lib/rubocop/cop/style/env_home.rb +1 -1
  295. data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
  296. data/lib/rubocop/cop/style/even_odd.rb +1 -1
  297. data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -1
  298. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -1
  299. data/lib/rubocop/cop/style/exponential_notation.rb +1 -1
  300. data/lib/rubocop/cop/style/fetch_env_var.rb +64 -82
  301. data/lib/rubocop/cop/style/float_division.rb +1 -1
  302. data/lib/rubocop/cop/style/for.rb +1 -1
  303. data/lib/rubocop/cop/style/format_string.rb +1 -1
  304. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +5 -2
  305. data/lib/rubocop/cop/style/global_std_stream.rb +1 -1
  306. data/lib/rubocop/cop/style/global_vars.rb +1 -1
  307. data/lib/rubocop/cop/style/guard_clause.rb +1 -1
  308. data/lib/rubocop/cop/style/hash_conversion.rb +1 -1
  309. data/lib/rubocop/cop/style/hash_each_methods.rb +1 -1
  310. data/lib/rubocop/cop/style/hash_except.rb +1 -1
  311. data/lib/rubocop/cop/style/hash_like_case.rb +1 -1
  312. data/lib/rubocop/cop/style/hash_syntax.rb +1 -1
  313. data/lib/rubocop/cop/style/hash_transform_keys.rb +6 -1
  314. data/lib/rubocop/cop/style/hash_transform_values.rb +4 -1
  315. data/lib/rubocop/cop/style/identical_conditional_branches.rb +2 -2
  316. data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +2 -2
  317. data/lib/rubocop/cop/style/implicit_runtime_error.rb +1 -1
  318. data/lib/rubocop/cop/style/in_pattern_then.rb +1 -1
  319. data/lib/rubocop/cop/style/inline_comment.rb +1 -1
  320. data/lib/rubocop/cop/style/inverse_methods.rb +2 -2
  321. data/lib/rubocop/cop/style/ip_addresses.rb +1 -1
  322. data/lib/rubocop/cop/style/keyword_parameters_order.rb +1 -1
  323. data/lib/rubocop/cop/style/lambda.rb +1 -1
  324. data/lib/rubocop/cop/style/lambda_call.rb +1 -1
  325. data/lib/rubocop/cop/style/line_end_concatenation.rb +1 -1
  326. data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +136 -0
  327. data/lib/rubocop/cop/style/map_to_hash.rb +5 -2
  328. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
  329. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -1
  330. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +1 -1
  331. data/lib/rubocop/cop/style/method_def_parentheses.rb +1 -1
  332. data/lib/rubocop/cop/style/min_max.rb +1 -1
  333. data/lib/rubocop/cop/style/missing_else.rb +24 -24
  334. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -1
  335. data/lib/rubocop/cop/style/mixin_grouping.rb +1 -1
  336. data/lib/rubocop/cop/style/mixin_usage.rb +1 -1
  337. data/lib/rubocop/cop/style/module_function.rb +1 -1
  338. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
  339. data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +1 -1
  340. data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
  341. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
  342. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +2 -2
  343. data/lib/rubocop/cop/style/multiline_when_then.rb +1 -1
  344. data/lib/rubocop/cop/style/multiple_comparison.rb +1 -1
  345. data/lib/rubocop/cop/style/mutable_constant.rb +1 -1
  346. data/lib/rubocop/cop/style/negated_if_else_condition.rb +1 -1
  347. data/lib/rubocop/cop/style/nested_file_dirname.rb +1 -1
  348. data/lib/rubocop/cop/style/nested_modifier.rb +1 -1
  349. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +1 -1
  350. data/lib/rubocop/cop/style/nested_ternary_operator.rb +1 -1
  351. data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
  352. data/lib/rubocop/cop/style/nil_lambda.rb +1 -1
  353. data/lib/rubocop/cop/style/non_nil_check.rb +1 -1
  354. data/lib/rubocop/cop/style/not.rb +1 -1
  355. data/lib/rubocop/cop/style/numbered_parameters.rb +1 -1
  356. data/lib/rubocop/cop/style/numbered_parameters_limit.rb +1 -1
  357. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +1 -1
  358. data/lib/rubocop/cop/style/numeric_literals.rb +1 -1
  359. data/lib/rubocop/cop/style/numeric_predicate.rb +10 -2
  360. data/lib/rubocop/cop/style/object_then.rb +1 -1
  361. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
  362. data/lib/rubocop/cop/style/open_struct_use.rb +1 -1
  363. data/lib/rubocop/cop/style/option_hash.rb +1 -1
  364. data/lib/rubocop/cop/style/optional_arguments.rb +1 -1
  365. data/lib/rubocop/cop/style/optional_boolean_parameter.rb +1 -1
  366. data/lib/rubocop/cop/style/or_assignment.rb +1 -1
  367. data/lib/rubocop/cop/style/parentheses_around_condition.rb +1 -1
  368. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -1
  369. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
  370. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  371. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -1
  372. data/lib/rubocop/cop/style/proc.rb +1 -1
  373. data/lib/rubocop/cop/style/raise_args.rb +4 -1
  374. data/lib/rubocop/cop/style/random_with_offset.rb +1 -1
  375. data/lib/rubocop/cop/style/redundant_argument.rb +1 -1
  376. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -1
  377. data/lib/rubocop/cop/style/redundant_begin.rb +17 -6
  378. data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -1
  379. data/lib/rubocop/cop/style/redundant_condition.rb +38 -7
  380. data/lib/rubocop/cop/style/redundant_conditional.rb +1 -1
  381. data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
  382. data/lib/rubocop/cop/style/redundant_fetch_block.rb +1 -1
  383. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
  384. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -1
  385. data/lib/rubocop/cop/style/redundant_interpolation.rb +22 -1
  386. data/lib/rubocop/cop/style/redundant_parentheses.rb +1 -1
  387. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -1
  388. data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +2 -2
  389. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -1
  390. data/lib/rubocop/cop/style/redundant_return.rb +1 -1
  391. data/lib/rubocop/cop/style/redundant_self.rb +1 -1
  392. data/lib/rubocop/cop/style/redundant_self_assignment.rb +1 -1
  393. data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +1 -1
  394. data/lib/rubocop/cop/style/redundant_sort.rb +1 -1
  395. data/lib/rubocop/cop/style/redundant_sort_by.rb +1 -1
  396. data/lib/rubocop/cop/style/regexp_literal.rb +1 -1
  397. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  398. data/lib/rubocop/cop/style/rescue_standard_error.rb +13 -13
  399. data/lib/rubocop/cop/style/return_nil.rb +1 -1
  400. data/lib/rubocop/cop/style/safe_navigation.rb +4 -1
  401. data/lib/rubocop/cop/style/sample.rb +1 -1
  402. data/lib/rubocop/cop/style/select_by_regexp.rb +1 -1
  403. data/lib/rubocop/cop/style/self_assignment.rb +1 -1
  404. data/lib/rubocop/cop/style/semicolon.rb +1 -1
  405. data/lib/rubocop/cop/style/send.rb +1 -1
  406. data/lib/rubocop/cop/style/signal_exception.rb +1 -1
  407. data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
  408. data/lib/rubocop/cop/style/single_line_methods.rb +2 -2
  409. data/lib/rubocop/cop/style/slicing_with_range.rb +4 -1
  410. data/lib/rubocop/cop/style/sole_nested_conditional.rb +26 -7
  411. data/lib/rubocop/cop/style/static_class.rb +1 -1
  412. data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
  413. data/lib/rubocop/cop/style/string_concatenation.rb +6 -7
  414. data/lib/rubocop/cop/style/string_hash_keys.rb +1 -1
  415. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +1 -1
  416. data/lib/rubocop/cop/style/string_methods.rb +1 -1
  417. data/lib/rubocop/cop/style/strip.rb +1 -1
  418. data/lib/rubocop/cop/style/struct_inheritance.rb +2 -2
  419. data/lib/rubocop/cop/style/swap_values.rb +1 -1
  420. data/lib/rubocop/cop/style/symbol_array.rb +6 -2
  421. data/lib/rubocop/cop/style/symbol_literal.rb +1 -1
  422. data/lib/rubocop/cop/style/symbol_proc.rb +3 -3
  423. data/lib/rubocop/cop/style/ternary_parentheses.rb +1 -1
  424. data/lib/rubocop/cop/style/trailing_body_on_class.rb +1 -1
  425. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -1
  426. data/lib/rubocop/cop/style/trailing_body_on_module.rb +1 -1
  427. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +1 -1
  428. data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +1 -1
  429. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +1 -1
  430. data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +1 -1
  431. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -1
  432. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +1 -1
  433. data/lib/rubocop/cop/style/trivial_accessors.rb +1 -1
  434. data/lib/rubocop/cop/style/unless_else.rb +1 -1
  435. data/lib/rubocop/cop/style/unless_logical_operators.rb +1 -1
  436. data/lib/rubocop/cop/style/unpack_first.rb +4 -1
  437. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  438. data/lib/rubocop/cop/style/when_then.rb +1 -1
  439. data/lib/rubocop/cop/style/word_array.rb +1 -1
  440. data/lib/rubocop/cop/style/yoda_condition.rb +1 -1
  441. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -1
  442. data/lib/rubocop/cop/team.rb +2 -2
  443. data/lib/rubocop/cop/util.rb +1 -1
  444. data/lib/rubocop/cops_documentation_generator.rb +18 -1
  445. data/lib/rubocop/formatter/disabled_config_formatter.rb +10 -7
  446. data/lib/rubocop/formatter/markdown_formatter.rb +2 -0
  447. data/lib/rubocop/formatter/simple_text_formatter.rb +4 -2
  448. data/lib/rubocop/magic_comment.rb +27 -2
  449. data/lib/rubocop/options.rb +60 -38
  450. data/lib/rubocop/rake_task.rb +3 -3
  451. data/lib/rubocop/result_cache.rb +2 -1
  452. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  453. data/lib/rubocop/rspec/expect_offense.rb +3 -3
  454. data/lib/rubocop/rspec/shared_contexts.rb +24 -0
  455. data/lib/rubocop/runner.rb +5 -5
  456. data/lib/rubocop/target_ruby.rb +7 -5
  457. data/lib/rubocop/version.rb +1 -1
  458. data/lib/rubocop.rb +2 -0
  459. metadata +9 -6
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for redundant `with_index`.
6
+ # Checks for redundant `with_index`.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for redundant `with_object`.
6
+ # Checks for redundant `with_object`.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks if `include` or `prepend` is called in `refine` block.
6
+ # Checks if `include` or `prepend` is called in `refine` block.
7
7
  # These methods are deprecated and should be replaced with `Refinement#import_methods`.
8
8
  #
9
9
  # It emulates deprecation warnings in Ruby 3.1.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for regexp literals used as `match-current-line`.
6
+ # Checks for regexp literals used as `match-current-line`.
7
7
  # If a regexp literal is in condition, the regexp matches `$_` implicitly.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for expressions where there is a call to a predicate
6
+ # Checks for expressions where there is a call to a predicate
7
7
  # method with at least one argument, where no parentheses are used around
8
8
  # the parameter list, and a boolean operator, && or ||, is used in the
9
9
  # last argument.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for `rescue` blocks targeting the Exception class.
6
+ # Checks for `rescue` blocks targeting the Exception class.
7
7
  #
8
8
  # @example
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for the use of a return with a value in a context
6
+ # Checks for the use of a return with a value in a context
7
7
  # where the value will be ignored. (initialize and setter methods)
8
8
  #
9
9
  # @example
@@ -25,6 +25,9 @@ module RuboCop
25
25
  # x&.foo || bar
26
26
  class SafeNavigationChain < Base
27
27
  include NilMethods
28
+ extend TargetRubyVersion
29
+
30
+ minimum_target_ruby_version 2.3
28
31
 
29
32
  MSG = 'Do not chain ordinary method call after safe navigation operator.'
30
33
 
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop check to make sure that if safe navigation is used for a method
6
+ # Check to make sure that if safe navigation is used for a method
7
7
  # call in an `&&` or `||` condition that safe navigation is used for all
8
8
  # method calls on that same object.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks to make sure safe navigation isn't used with `empty?` in
6
+ # Checks to make sure safe navigation isn't used with `empty?` in
7
7
  # a conditional.
8
8
  #
9
9
  # While the safe navigation operator is generally a good idea, when
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks if a file which has a shebang line as
6
+ # Checks if a file which has a shebang line as
7
7
  # its first line is granted execute permission.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for self-assignments.
6
+ # Checks for self-assignments.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for shadowed arguments.
6
+ # Checks for shadowed arguments.
7
7
  #
8
8
  # This cop has `IgnoreImplicitReferences` configuration option.
9
9
  # It means argument shadowing is used in order to pass parameters
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for a rescued exception that get shadowed by a
6
+ # Checks for a rescued exception that get shadowed by a
7
7
  # less specific exception being rescued before a more specific
8
8
  # exception is rescued.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for the use of local variable names from an outer scope
6
+ # Checks for the use of local variable names from an outer scope
7
7
  # in block arguments or block-local variables. This mirrors the warning
8
8
  # given by `ruby -cw` prior to Ruby 2.6:
9
9
  # "shadowing outer local variable - foo".
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks unexpected overrides of the `Struct` built-in methods
6
+ # Checks unexpected overrides of the `Struct` built-in methods
7
7
  # via `Struct.new`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for `rescue` blocks with no body.
6
+ # Checks for `rescue` blocks with no body.
7
7
  #
8
8
  # @example
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for uses of literal strings converted to
6
+ # Checks for uses of literal strings converted to
7
7
  # a symbol where a literal symbol could be used instead.
8
8
  #
9
9
  # There are two possible styles for this cop.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop repacks Parser's diagnostics/errors
6
+ # Repacks Parser's diagnostics/errors
7
7
  # into RuboCop's offenses.
8
8
  class Syntax < Base
9
9
  def on_other_file
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop ensures that `to_enum`/`enum_for`, called for the current method,
6
+ # Ensures that `to_enum`/`enum_for`, called for the current method,
7
7
  # has correct arguments.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks to make sure `#to_json` includes an optional argument.
6
+ # Checks to make sure `#to_json` includes an optional argument.
7
7
  # When overriding `#to_json`, callers may invoke JSON
8
8
  # generation via `JSON.generate(your_obj)`. Since `JSON#generate` allows
9
9
  # for an optional argument, your method should too.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for top level return with arguments. If there is a
6
+ # Checks for top level return with arguments. If there is a
7
7
  # top-level return statement with an argument, then the argument is
8
8
  # always ignored. This is detected automatically since Ruby 2.7.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for trailing commas in attribute declarations, such as
6
+ # Checks for trailing commas in attribute declarations, such as
7
7
  # `#attr_reader`. Leaving a trailing comma will nullify the next method
8
8
  # definition by overriding it with a getter method.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for "triple quotes" (strings delimited by any odd number
6
+ # Checks for "triple quotes" (strings delimited by any odd number
7
7
  # of quotes greater than 1).
8
8
  #
9
9
  # Ruby allows multiple strings to be implicitly concatenated by just
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for underscore-prefixed variables that are actually
6
+ # Checks for underscore-prefixed variables that are actually
7
7
  # used.
8
8
  #
9
9
  # Since block keyword arguments cannot be arbitrarily named at call
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for a block that is known to need more positional
6
+ # Checks for a block that is known to need more positional
7
7
  # block arguments than are given (by default this is configured for
8
8
  # `Enumerable` methods needing 2 arguments). Optional arguments are allowed,
9
9
  # although they don't generally make sense as the default value will
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for using Fixnum or Bignum constant.
6
+ # Checks for using Fixnum or Bignum constant.
7
7
  #
8
8
  # @example
9
9
  #
@@ -33,6 +33,8 @@ module RuboCop
33
33
  return unless klass
34
34
 
35
35
  add_offense(node, message: format(MSG, klass: klass)) do |corrector|
36
+ next if target_ruby_version <= 2.3
37
+
36
38
  corrector.replace(node.loc.name, 'Integer')
37
39
  end
38
40
  end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for unreachable code.
6
+ # Checks for unreachable code.
7
7
  # The check are based on the presence of flow of control
8
8
  # statement in non-final position in `begin` (implicit) blocks.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for loops that will have at most one iteration.
6
+ # Checks for loops that will have at most one iteration.
7
7
  #
8
8
  # A loop that can never reach the second iteration is a possible error in the code.
9
9
  # In rare cases where only one iteration (or at most one iteration) is intended behavior,
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for unused block arguments.
6
+ # Checks for unused block arguments.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for unused method arguments.
6
+ # Checks for unused method arguments.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop identifies places where `URI.escape` can be replaced by
6
+ # Identifies places where `URI.escape` can be replaced by
7
7
  # `CGI.escape`, `URI.encode_www_form`, or `URI.encode_www_form_component`
8
8
  # depending on your specific use case.
9
9
  # Also this cop identifies places where `URI.unescape` can be replaced by
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop identifies places where `URI.regexp` is obsolete and should
6
+ # Identifies places where `URI.regexp` is obsolete and should
7
7
  # not be used. Instead, use `URI::DEFAULT_PARSER.make_regexp`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for redundant access modifiers, including those with no
6
+ # Checks for redundant access modifiers, including those with no
7
7
  # code, those which are repeated, and leading `public` modifiers in a
8
8
  # class or module body. Conditionally-defined methods are considered as
9
9
  # always being defined, and thus access modifiers guarding such methods
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for every useless assignment to local variable in every
6
+ # Checks for every useless assignment to local variable in every
7
7
  # scope.
8
8
  # The basic idea for this cop was from the warning of `ruby -cw`:
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for useless method definitions, specifically: empty constructors
6
+ # Checks for useless method definitions, specifically: empty constructors
7
7
  # and methods just delegating to `super`.
8
8
  #
9
9
  # @safety
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop looks for `ruby2_keywords` calls for methods that do not need it.
6
+ # Looks for `ruby2_keywords` calls for methods that do not need it.
7
7
  #
8
8
  # `ruby2_keywords` should only be called on methods that accept an argument splat
9
9
  # (`*args`) but do not explicit keyword arguments (`k:` or `k: true`) or
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for setter call to local variable as the final
6
+ # Checks for setter call to local variable as the final
7
7
  # expression of a function definition.
8
8
  #
9
9
  # @safety
@@ -11,7 +11,7 @@ module RuboCop
11
11
  # value that is also accessible outside the local scope. This is not
12
12
  # detected by the cop, and it can yield a false positive.
13
13
  #
14
- # As well, auto-correction is unsafe because the method's
14
+ # As well, autocorrection is unsafe because the method's
15
15
  # return value will be changed.
16
16
  #
17
17
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for uses of `Integer#times` that will never yield
6
+ # Checks for uses of `Integer#times` that will never yield
7
7
  # (when the integer <= 0) or that will only ever yield once
8
8
  # (`1.times`).
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Lint
6
- # This cop checks for operators, variables, literals, and nonmutating
6
+ # Checks for operators, variables, literals, and nonmutating
7
7
  # methods used in void context.
8
8
  #
9
9
  # @example CheckForMethodsWithNoSideEffects: false (default)
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks that the ABC size of methods is not higher than the
6
+ # Checks that the ABC size of methods is not higher than the
7
7
  # configured maximum. The ABC size is based on assignments, branches
8
8
  # (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric
9
9
  # and https://en.wikipedia.org/wiki/ABC_Software_Metric.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks if the length of a block exceeds some maximum value.
6
+ # Checks if the length of a block exceeds some maximum value.
7
7
  # Comment lines can optionally be ignored.
8
8
  # The maximum allowed length is configurable.
9
9
  # The cop can be configured to ignore blocks passed to certain methods.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks for excessive nesting of conditional and looping
6
+ # Checks for excessive nesting of conditional and looping
7
7
  # constructs.
8
8
  #
9
9
  # You can configure if blocks are considered using the `CountBlocks`
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks if the length a class exceeds some maximum value.
6
+ # Checks if the length a class exceeds some maximum value.
7
7
  # Comment lines can optionally be ignored.
8
8
  # The maximum allowed length is configurable.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks that the cyclomatic complexity of methods is not higher
6
+ # Checks that the cyclomatic complexity of methods is not higher
7
7
  # than the configured maximum. The cyclomatic complexity is the number of
8
8
  # linearly independent paths through a method. The algorithm counts
9
9
  # decision points and adds one.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks if the length of a method exceeds some maximum value.
6
+ # Checks if the length of a method exceeds some maximum value.
7
7
  # Comment lines can optionally be ignored.
8
8
  # The maximum allowed length is configurable.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks if the length a module exceeds some maximum value.
6
+ # Checks if the length a module exceeds some maximum value.
7
7
  # Comment lines can optionally be ignored.
8
8
  # The maximum allowed length is configurable.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop checks for methods with too many parameters.
6
+ # Checks for methods with too many parameters.
7
7
  #
8
8
  # The maximum number of parameters is configurable.
9
9
  # Keyword arguments can optionally be excluded from the total count,
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Metrics
6
- # This cop tries to produce a complexity score that's a measure of the
6
+ # Tries to produce a complexity score that's a measure of the
7
7
  # complexity the reader experiences when looking at a method. For that
8
8
  # reason it considers `when` nodes as something that doesn't add as much
9
9
  # complexity as an `if` or a `&&`. Except if it's one of those special
@@ -17,6 +17,7 @@ module RuboCop
17
17
 
18
18
  message = OMIT_HASH_VALUE_MSG
19
19
  replacement = "#{hash_key_source}:"
20
+ self.config_to_allow_offenses = { 'Enabled' => false }
20
21
  else
21
22
  return unless node.value_omission?
22
23
 
@@ -24,13 +25,17 @@ module RuboCop
24
25
  replacement = "#{hash_key_source}: #{hash_key_source}"
25
26
  end
26
27
 
28
+ register_offense(node, message, replacement)
29
+ end
30
+
31
+ private
32
+
33
+ def register_offense(node, message, replacement)
27
34
  add_offense(node.value, message: message) do |corrector|
28
35
  corrector.replace(node, replacement)
29
36
  end
30
37
  end
31
38
 
32
- private
33
-
34
39
  def ignore_hash_shorthand_syntax?(pair_node)
35
40
  target_ruby_version <= 3.0 || enforced_shorthand_syntax == 'either' ||
36
41
  !pair_node.parent.hash_type?
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  # Classes that include this module just implement functions to determine
6
- # what is an offense and how to do auto-correction. They get help with
6
+ # what is an offense and how to do autocorrection. They get help with
7
7
  # adding offenses for the faulty string nodes, and with filtering out
8
8
  # nodes.
9
9
  module StringHelp
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop makes sure that accessor methods are named properly. Applies
6
+ # Makes sure that accessor methods are named properly. Applies
7
7
  # to both instance and class methods.
8
8
  #
9
9
  # NOTE: Offenses are only registered for methods with the expected
@@ -63,7 +63,9 @@ module RuboCop
63
63
  end
64
64
 
65
65
  def bad_writer_name?(node)
66
- node.method_name.to_s.start_with?('set_') && node.arguments.one?
66
+ node.method_name.to_s.start_with?('set_') &&
67
+ node.arguments.one? &&
68
+ node.first_argument.arg_type?
67
69
  end
68
70
  end
69
71
  end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop checks for non-ascii characters in identifier and constant names.
6
+ # Checks for non-ascii characters in identifier and constant names.
7
7
  # Identifiers are always checked and whether constants are checked
8
8
  # can be controlled using AsciiConstants config.
9
9
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop makes sure that certain binary operator methods have their
6
+ # Makes sure that certain binary operator methods have their
7
7
  # sole parameter named `other`.
8
8
  #
9
9
  # @example
@@ -9,9 +9,9 @@ module RuboCop
9
9
  # by `do_something(&)`.
10
10
  #
11
11
  # It also supports the opposite style by alternative `explicit` option.
12
- # You can specify the block variable name for auto-correction with `BlockForwardingName`.
12
+ # You can specify the block variable name for autocorrection with `BlockForwardingName`.
13
13
  # The default variable name is `block`. If the name is already in use, it will not be
14
- # auto-corrected.
14
+ # autocorrected.
15
15
  #
16
16
  # @example EnforcedStyle: anonymous (default)
17
17
  #
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop checks block parameter names for how descriptive they
6
+ # Checks block parameter names for how descriptive they
7
7
  # are. It is highly configurable.
8
8
  #
9
9
  # The `MinNameLength` config option takes an integer. It represents
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop checks for class and module names with
6
+ # Checks for class and module names with
7
7
  # an underscore in them.
8
8
  #
9
9
  # `AllowedNames` config takes an array of permitted names.
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Naming
6
- # This cop checks whether constant names are written using
6
+ # Checks whether constant names are written using
7
7
  # SCREAMING_SNAKE_CASE.
8
8
  #
9
9
  # To avoid false positives, it ignores cases in which we cannot know