Rubocop で Ruby 2.7 を使用しているときに、Ruby 3 の非推奨コードについて警告するにはどうすればよいですか?

概要

私は多くの寄稿者がいる巨大なリポジトリに取り組んでおり、毎日多くのコード変更が発生しています。私は現在の Ruby 2.7.4 を Ruby 3+ に更新する任務を負っています。最初のステップとして、Ruby 3 で非推奨のコードをチェックするために、既に実装されている Rubocop リンターにいくつかのルールを追加して、人々が追加をやめるようにすることが最善であると判断しました。非推奨になった新しいコード (というより、Ruby 3 にアップグレードすると非推奨になるでしょう)。

Rubocop にはこの仕事を手伝ってくれる警察官はいますか?それとも誰かが私に正しい方向を教えてくれますか?

解決策

Rubocop には、非推奨の Ruby 機能を検出するための lint がいくつかあります。たとえば、Lint/DeprecatedClassMethods などです。これらのほとんどについて、Rubocop は使用している Ruby のバージョンを気にしません。

さらに問題を見つけるには、TargetRubyVersion を 3.0 (または任意のターゲット) に設定します。

AllCops:
  TargetRubyVersion: 3.0

役に立つかもしれない一部の警官は、100% 安全ではないため、デフォルトでは有効になっていません。それらを有効にすることもできます。

これを自動コードレビューチェックに追加します。

Ruby アップグレード警察専用のrubocop 拡張機能を私は知りません。これをrubocop-deprecationにバンドルすることもできます。