使用基类模块中的任何方法的子类包括?

时间:2011-06-28 04:28:49

标签: ruby-on-rails ruby inheritance module subclass

假设我有一个名为Stream的基类和一堆Stream的子类。

class Stream

  include DateTimeHelper
  include LinkHelper
  include FormatHelper

  def ...
    ...
  end

end

class LongStream < Stream

  def ...
    ...
  end

end

因此,这里的子类可以访问包含模块中的任何方法。

根据重构历史,有一种机会,例如,层次结构中的所有类都不使用FormatHelper中的任何方法。有没有办法让我以编程方式检查是否正在使用任何模块的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用alias_method替换或增强模块的方法,例如,在调用该模块的方法时添加日志记录。