クラスのインスタンスの数を追跡する次のコードがあります。
module InstanceTracker
def self.instances
counter = 0
ObjectSpace.each_object do |i|
if i.class == self
counter += 1
end
end
return counter
end
end
エンドユーザーにできることは次のとおりです。
class Foo
include InstanceTracker
end
しかし、それを行うと、NoMethodError
forが得られFoo.instances
ます。InstanceTrackerをクラスにして、次のようにすると正常に動作します。
class Foo < InstanceTracker; end
どうすればモジュールミックスインにできますか?