メソッドが定義されていなければメソッドを定義する
クラスにあるメソッドが定義されていない場合にのみ、そのメソッドをモンキーパッチで定義するには、以下のようにする。method_defined?
はクラスにメソッドが定義されているかを確認するメソッドだ。
if Clazz.method_defined?(:method) class Clazz def method # do something end end end
こうしておくと、もしメソッドが定義されていた場合に、意図せずしてメソッドを再定義するのを避けることができる。この方法は、Rubyやライブラリのバージョンが古く、新しいバージョンに存在するメソッドを、自分で定義する場合にも利用できる。