# sometimes you want an object to exist as a promise, but not quite initialize # itself until needed. here's a little design pattern that makes that super # easy Klass = BlankSlate.new def Klass.method_missing(meth, *args, &block) Object.send(:remove_const, :Klass) Object.send(:const_set, :Klass, instance = Klass.instance) instance.send(meth, *args, &block) end # http://onestepback.org/index.cgi/Tech/Ruby/BlankSlate.rdoc for