instance method Module#prepend_features

prepend_features(mod) -> self[permalink][rdoc][edit]

Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定したモジュール/クラスの継承チェインの先頭に self を追加します。

このメソッドを上書きすることで、prepend の処理を変更したり追加したりすることができます。

[PARAM] mod:
prepend を呼び出したモジュール
[RETURN]
mod が返されます


class Recorder
  RECORDS = []
end

module X
  def self.prepend_features(mod)
    Recorder::RECORDS << mod
  end
end

class A
  prepend X
end

class B
  include X
end

class C
  prepend X
end

Recorder::RECORDS # => [A, C]

[SEE_ALSO] Module#prepend, Module#prepended