2011-03-07 62 views
0

因此,我有一个模块,其内部方法之一使用了名称“log”。为方法生成错误名称的模块

问题是,这个模块有一个“扩展自我”的行。如果我在脚本中调用这个模块以及加载rails环境,每次使用关键字“log”(即Rails.application.config.paths.log或config.paths.log)时,该模块内的方法正在获取被调用而不是原始文件正在寻找什么。

有没有办法做一个MyModule.module_eval,并以某种方式重命名方法名称和路由该模块内调用“日志”的所有本地调用到新的方法?

否则Rails和这个模块在一起玩的不好。

任何帮助,将不胜感激!

+0

你为什么不干脆重新命名您的模块中的方法,模块内部的坏方法? – 2011-03-07 05:20:47

+0

该模块不是我的。但是如果它仍然可以重新命名,请告诉我如何!我会很感激! – schone 2011-03-07 05:26:42

回答

0

找到了答案。我用私有化module_eval

NoSoSmartModule.module_eval do 
    private :log 
end 
相关问题