Да, конечно.Вы можете смешать BleeTest
в объекте:
o = Object.new
o.extend BleeTest
o.meth
# foo
Или вы можете смешать BleeTest
в классе:
class C
include BleeTest
end
o = C.new
o.meth
# foo
Фактически, первая форма также может быть выражена вусловия второй формы:
o = Object.new
class << o
include BleeTest
end
o.meth
# foo
То, что есть , в конце концов, целая точка модулей в Ruby: служить в качестве миксинов для составления объектови классы.