Ruby, モジュールのインクルード(include と extend)
Ruby では、モジュールのインクルードのために、Module#include または Kernel#extend を使います。
以下に、これらの使い方をまとめます。
モジュール M にモジュール M1 をインクルードする方法
module M include M1 end
M.module_eval do include M1 end
クラス C にモジュール M1 をインクルードする方法
class C include M1 end
C.class_eval do include M1 end
オブジェクト obj の特異クラスにモジュール M1 をインクルードする方法
class << obj include M1 end
obj.singleton_class.class_eval do include M1 end
obj.extend M1