| Previous | Reductive Labs, LLC | Next |
But Wait, There's Moredef classgen(name, parent, &block) klass = Class.new(parent) do @name = name end if klass.respond_to? :initvars klass.send(:initvars) end klass.class_eval(&block) return klass end class Base def self.initvars @inited = true end end myclass = classgen :myclass, Base do def self.testing "Has %s been initialized? %s" % [@name, @inited.inspect] end end puts "myclass is a %s" % myclass.class puts myclass.testing
Produces:
|
| Previous | Luke Kanies luke@reductivelabs.com | Index | Next |