2

この質問では、簡単な警告を作成するために何をすべきかを説明します(ただし、トレースをログに記録しないため、あまり役に立ちません)。これを作成する方法はたくさんありますが、ガイドは見つかりませんでした。

ActiveSupport :: Deprecationを使用して、old_methodを非推奨としてマークし、他のnew_methodを呼び出すにはどうすればよいですか。

4

2 に答える 2

0

ローマンが言うように、それはActiveSupport :: Deprecation.deprecate_methods(target_module、* deprecated_methods)で行うことができます

どこ:

  • target_moduleメソッドが属するモジュールまたはクラスです。
  • deprecated_methodsシンボルの配列です。

最後のメソッドでは、非推奨メッセージをカスタマイズするためのオプションを指定できます。

ActiveSupport::Deprecation.deprecate_methods(target_module, :old_method, \
    :other_old_method => :new_method, :another_old_method => "custom message")

この例は、old_methodが呼び出されたときのデフォルトのメッセージを示し、 2番目のメッセージで「代わりにnew_methodを使用する」というコメントを付け、:another_old_methodを使用したカスタムメッセージを示します。

:非推奨のメソッドは(前に)定義する必要があり、実行されます。:new_methodは自動的には呼び出されません。(もっと多くのオプションがありますが、私はそれらを知りません)

于 2011-05-20T12:11:41.267 に答える
0

lib/active_support/deprecation/method_wrappers.rb例を調べてみてください。

于 2011-05-15T19:15:24.590 に答える