class SingletonObjectFactory
def initialize klass=Object
@klass = klass
end
def make_object *args, &block
obj = @klass.new *args
obj.instance_eval &block
obj
end
end
BlankObjectFactory = SingletonObjectFactory.new
module BareWordParser
def self.parse &block
parser = BlankObjectFactory.make_object do
def self.method_missing *args
args.join " "
end
end
output = parser.instance_eval &block
puts output
end
end