Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.
Currently, Vegas just includes a single class Vegas::Runner which wraps your Sinatra app to give it command line options, daemonization, PID/URL tracking, and browser launching (using Launchy).
Lets say you have a gem with a sinatra application. With Vegas you can create a bin that looks like
#!/usr/bin/env ruby # ./bin/myapp require File.expand_path(File.dirname(__FILE__) + "/../lib/myapp") require 'vegas' Vegas::Runner.new(Sinatra::Application, 'myapp')
See the website: code.quirkey.com/vegas for full usage/options.
Using vegas (and gems that depend on it) on Windows works but isn't 100% the same. Daemon-ization and browser launching work, but you will see duplicate messages.
If you see a warning like:
`expand_path': couldn't find HOME environment -- expanding `~/.vegas' (ArgumentError)
You have to set your HOME path:
c:\> set HOME=%HOMEPATH%
sudo gem install vegas
MIT LICENSE, see LICENSE for details