次のコードは正常に機能します。
class Float
def round
self.format.to_f
end
def format
"%.2f" % self
end
end
ただし、他の人が同じことをしていて問題が発生するため、Floatのようなクラスにモンキーパッチを適用するのは悪い習慣のようです。
次に、simplecovをインストールすると、問題が発生しました。simplecovは同じメソッドをモンキーパッチします。
そこで、モジュールを作成してFloatにミックスしました。
module MyModule
def round
self.format.to_f
end
def format
"%.2f" % self
end
end
これもうまくいくと思います。しかし、問題は、simplecovが上記の混合メソッドを上書きしているように見えることです。
では、他の人のコードと競合しないように組み込みクラスを拡張する適切な方法は何ですか?
Ruby 1.9.3