singleton method Warning.warn

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