Я пытаюсь определить пару модулей, которые легко добавить в некоторые методы экземпляра и класса другим классам, вот что я делаю:
module Foo
module Bar
def speak
puts "hey there"
end
end
module Baz
extend Foo::Bar
def welcome
puts "welcome, this is an instance method"
end
end
end
class Talker
include Foo::Baz
end
Talker.new.welcome
Talker.speak
Результат этого:
welcome, this is an instance method
undefined method 'speak' for Talker.class (NoMethodError)
Я ожидал, что Talker будет использовать метод "говорить", поскольку он включает Foo:: Baz, который сам расширяет Foo:: Bar.
Что мне не хватает?