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