In the way you use it, run Ruhoh::Program.preview
will never serve requests.
You should put it into builder:
builder = Rack::Builder.new do
use Rack::CommonLogger
map '/' do
run Ruhoh::Program.preview
end
map '/test' do
run Proc.new {|env| [200, {"Content-Type" => "text/html"}, StringIO.new("infinity 0.1")] }
end
end
run builder