From: Christoph (news_chr) Date: 2003-10-03T14:50:22+09:00 Subject: Re: mixing in class methods "Robert Klemme" wrote: .... > module M > def class_method1 > p "class_method" > end > def class_method2 > p "class_method2" > end > end > > class C > extend M > end Hm, just being my silly self, what about the following solution for the combined include + extend problem? --- class WiredModule < Module private def extend_object(obj) super extended(obj) end def extended(obj) end end ClassMethods = WiredModule.new do def class_method1 p "class_method1" end def class_method2 p "class_method2" end end class << ClassMethods module M def instance_method1 p "instance_method1" end end def extended(mod) mod.instance_eval { include M } end end class C extend ClassMethods end C.new.instance_method1 # "instance_method1" C.class_method1 # "class_method1" --- /Christoph