From: Daniel Schierbeck Date: 2006-06-15T17:46:39+09:00 Subject: Re: Why the lack of mixing-in support for Class methods? Okay, I've sorted out a few of the problems, and I hope I haven't created new ones. 1 class Module 2 def class_extension(&block) 3 @class_extension ||= Module.new 4 @class_extension.module_eval(&block) 5 end 6 7 def included(mod) 8 if not @class_extension.nil? 9 case mod 10 when Class 11 mod.extend(@class_extension) 12 when Module 13 unless mod.instance_variables.include? "@class_extension" 14 mod.instance_variable_set(:@class_extension, Module.new) 15 end 16 other = mod.instance_variable_get(:@class_extension) 17 other.send(:include, @class_extension) 18 end 19 end 20 end 21 end Please report any errors here, sans bashing. Daniel