Я пытаюсь переопределить метод, находящийся в Gem in a Ruby/Rails, и я борюсь с некоторыми проблемами.
Моя цель - выполнить пользовательский код при вызове метода из Gem, а также сохранить исходный код.
Я пытался абстрагировать код в следующий скрипт:
module Foo
class << self
def foobar
puts "foo"
end
end
end
module Foo
class << self
def foobar
puts "bar"
super
end
end
end
Foo.foobar
Выполнение этого скрипта дает мне эту ошибку:
in `foobar': super: no superclass method `foobar' for Foo:Module (NoMethodError)
Как я должен написать переопределяющий метод, чтобы я мог вызывать супер с поднятым исключением?
PS: Переопределяющий метод работает просто отлично, если я удалю супер, но тогда оригинальный метод не вызывается, и я не хочу этого.