Я пытаюсь определить пару модулей, чтобы легко добавить некоторые методы экземпляра и класса в другие классы, вот что я делаю:
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.
Чего мне не хватает?