модуль, который сгенерировал плохое имя для метода - PullRequest
0 голосов
/ 07 марта 2011

Итак, у меня есть модуль, который использовал имя «log» для одного из своих внутренних методов.

Проблема состоит в том, что этот модуль имеет строку «extension self».Если я вызываю этот модуль в скрипте, а также загружаю среду rails, каждый раз, когда используется ключевое слово «log» (т.е. Rails.application.config.paths.log или config.paths.log), метод внутри этого модуля получаетвызывается вместо того, что искал исходный файл.

Есть ли способ сделать MyModule.module_eval и каким-то образом переименовать имя метода и направить все локальные вызовы внутри того модуля, который вызвал «log», в новыйmethod?

В противном случае Rails и этот модуль не будут играть вместе.

Любая помощь будет признательна!

1 Ответ

0 голосов
/ 07 марта 2011

Нашел ответ. Я приватизировал плохой метод внутри модуля, используя module_eval

NoSoSmartModule.module_eval do
  private :log
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...