Rubyリファレンス: Home

append_features (Module)

Edit   History

標準クラス・モジュール > Module > append_features

def append_features(klass)
  code...
end

append_featuresメソッドは、モジュールが他のクラスやモジュールにインクルードされる前に呼び出されます。引数にはモジュールをインクルードするクラスやモジュールが入ります。

append_featuresincludeメソッドによって呼び出されます。Moduleクラスのオリジナルのappend_featuresはインクルード機能の本体です。append_featuresを上書きするときは、superを呼び出さないとモジュールがインクルードされません。

次の例では、append_featuresの中でメッセージを表示したあとで、superでインクルード機能を呼び出しています。

module Feature
  def self.append_features(klass)
    puts "#{klass} is going to include #{self}!"
    super
  end
end
 
class Container
  include Feature
end
Container is going to include Feature!

関連項目