append_featuresとextend_object
Module#append_featuresはModule#includeの本体で、Module#extend_objectはObject#extendの本体です。
includeを使う代わりにappend_featuresでモジュールをインクルードできます。普通はこんなことしませんが。
module M def foo() "foo" end end class C # include M M.send(:append_features, self) end
extendを使う代わりにextend_objectで特異クラスにモジュールをインクルードできます。普通はこんなことしませんが。
obj = Object.new # obj.extend(M) M.send(:extend_object, obj)