所以我有一个模块,它的一个内部方法使用名称“log”。
问题是,该模块有一个“扩展自我”行。如果我在脚本中调用此模块以及加载rails环境,则每次使用关键字“log”(即Rails.application.config.paths.log或config.paths.log)时,该模块中的方法都会得到调用而不是原始文件要查找的内容。
有没有办法做MyModule.module_eval并以某种方式重命名方法名称并将该模块中名为“log”的所有本地调用路由到新方法中?
否则Rails和这个模块不能很好地协同工作。
任何帮助将不胜感激!
答案 0 :(得分:0)
找到答案。我使用module_eval
将模块内的坏方法私有化NoSoSmartModule.module_eval do
private :log
end