要約
警告を出力するためのモジュールです。
本モジュールは warn インスタンスメソッドのみで構成されます。しかし、本モジュールは自身を extend するため、.warn メソッドも利用可能です。warn メソッドは Ruby が出力する全ての警告に対して呼び出されます。デフォルトでは全ての警告が $stderr に出力されます。
Warning.warn をオーバーライドする事で Ruby から出力される警告の動作を変更する事ができます。例えばエラーメッセージのフィルタリングや、$stderr 以外に警告を出力といった変更が可能です。Warning.warn をオーバーライドする際は super を呼び出すとデフォルトの動作である $stderr への出力ができます。
目次
特異メソッド
- self[category] -> bool[permalink][rdoc][edit]
- 
category の種類の警告を表示するかどうかのフラグを返します。 - [PARAM] category:
- 警告の種類を指定します。
 サポートされている category は以下の通りです。 
- self[category] = flag[permalink][rdoc][edit]
- 
category の警告を表示するかどうかのフラグを設定します。サポートされている category については Warning.[] を参照してください。 - [PARAM] category:
- 警告の種類を指定します。
- [PARAM] flag:
- 真、または偽を指定します。
 [SEE_ALSO] Warning.[] 
- warn(message, category: nil) -> nil[permalink][rdoc][edit]
- 
引数 message を標準エラー出力 $stderr に出力します。 本メソッドはRubyが出力する全ての警告に対して呼び出されます。そのため本メソッドをオーバーライドすることで Ruby から出力される警告の動作を変更できます。またオーバーライドしたメソッドからは super を呼び出すことで、デフォルトの動作である $stderr への出力ができます。 module Warning # 警告メッセージに category を表示し、message 末尾に !!! を追加する def self.warn(message, category: nil) super("#{category} warning : #{message.chomp}!!!\n") end end warn("hoge", category: :deprecated) # => deprecated warning : hoge!!!- [PARAM] message:
- 出力するオブジェクトを指定します。
- [PARAM] category:
- 警告のカテゴリを指定します。サポートされている category については Warning.[] を参照してください。
 [SEE_ALSO] Kernel.#warn, Warning#warn 
インスタンスメソッド
- warn(message, category: nil) -> nil[permalink][rdoc][edit]
- 
引数 message を標準エラー出力 $stderr に出力します。 Kernel.#warnの挙動を変更する際は、このメソッドではなくクラスメソッドであるWarning.warnをオーバーライドする必要があります。 - [PARAM] message:
- 出力するオブジェクトを指定します。
- [PARAM] category:
- 警告のカテゴリを指定します。サポートされている category については Warning.[] を参照してください。
 [SEE_ALSO] Kernel.#warn, Warning.warn