Ruby 如何在从外部获得prepend后调用原始方法

Ruby 如何在从外部获得prepend后调用原始方法,ruby,class,prepend,Ruby,Class,Prepend,我正在重构一些旧代码以适应Ruby>2。还有一些我想删除的alias\u method\u chain 但是,在某些地方,会调用without方法。在方法内部,我必须super确定,但从外部 现提供以下资料: module ExtraLog def log puts "ExtraLog" super end end class Klass prepend ExtraLog def log puts "Log" end end a = Klass.n

我正在重构一些旧代码以适应Ruby>2。还有一些我想删除的
alias\u method\u chain

但是,在某些地方,会调用without方法。在方法内部,我必须
super
确定,但从外部

现提供以下资料:

module ExtraLog
  def log
    puts "ExtraLog"
    super
  end
end

class Klass
  prepend ExtraLog
  def log
    puts "Log"
  end
end

a = Klass.new
a.log 
#=> "ExtraLog"
#=> "Log"
如果不调用带前缀的方法,现在如何调用原始的log方法?类似于
a.original\u log


你解决了吗?是的,非常感谢!如果我的答案对你有效,你可以接受它(在答案的分数下面找一个复选标记)
a.method(:log).super_method.call
#=> Log