Ruby 1.9.2 запрещает вызов "super" из одноэлементных методов, определенных для нескольких классов.
Часто лучшее решение - просто прекратить использование одноэлементных методов. Однако мы переопределяем self.inherited, который является частью определения языка, поэтому это невозможно.
Кто-нибудь нашел хороший обходной путь? Я пробовал:
def self.inherited(klass)
# ...
klass.ancestors.each do |kls|
if kls.respond_to?(:inherited) && !kls.include?(MyModuleName)
kls.inherited(klass)
end
end
end
Что не работает.
Я также пытался alias_method_chain'ing функции, но это тоже не сработало.
Дополнительный контекст доступен по адресу https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/840 && http://github.com/tablatom/hobo,, хотя вы также можете просто запросить дополнительный контекст, если я недостаточно предоставил.