Из документации : "Версии метода экземпляра делаются закрытыми."
Расширяя модуль B, вы добавили функцию foo
к объекту B
. Это связано с тем, что в ruby модуль также является объектом Вы можете проверить это следующим образом:
B.respond_to?(:foo,true) #=> true