2011-03-07 34 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 
相關問題