# File lib/facets/yore/module/namespace.rb, line 23 def namespace( name, &blk ) s = self c = Class.new(SimpleDelegator, &blk) c.class_eval { define_method(:initialize) { |s| super(s) } } self.class_eval { define_method( name ) { instance_variable_set( "@#{name}", instance_variable_get("@#{name}") || c.new(s) ) } } end