2011-01-10 10 views
10

私は最近、Rails 2からRails 3にアップグレードしました。私は、使用していない可能性があるすべてのコードを根絶しようとしています。私がこれをやっているのは、開発マシン上で動作している私のサイトのコピーをサーフィンしているだけで、警告出力のためにコンソールから出力されます。Ruby on Rails:廃止予定の警告をエラーとして扱うか、そうでない場合は廃止予定のコードを探しますか?

廃止予定の警告をエラーとして処理する方法や、廃止予定のコードをより効率的に見つける方法はありますか?

答えて

11

廃止予定の呼び出しの動作をカスタマイズするには、ActiveSupport::Deprecation.behaviorを設定します。これは、メッセージと呼び出しスタックを受け入れるProcに設定する必要があります。

ActiveSupport::Deprecation.behavior = Proc.new { |message, callstack| 
    raise message + "\n" + callstack.join("\n ") 
} 

アプリケーションのテストを自動化している場合は、使用しているバージョンのRailsをアップグレードする際に非常に役立ちます。

+0

ここで 'Proc'はどこにありますか? –

+1

@Ivánこれを 'config/initializers'に独自のファイルとして入れることができます。 'deprecation.rb'。さらに最近のバージョンのRailsでは、非推奨の呼び出しに関する例外を発生させたい場合は、 'ActiveSupport :: Deprecation.behavior =:raise'を使うことができ、自分で' Proc'を書く必要はありません。 – mikej

+0

非常に明確です。特にRoR 5を使用しているためです。Thanks @mikej –

関連する問題