zellio/jobim — pull request #3 by thenickperson (2013-10-06 08:47:57+00:00)
Title: Move Rack server setup into a new Jobim::Server module

Instead of having the executable file directly start the Rack server, `Jobim::CLI` will call a `start` method on a new `Jobim::Server` module whenever it runs (if the command line options are valid).

This has a few benefits:
1. The code is easier to refactor, since Rack setup code is organized into a separate module.
2. It's easier to use `jobim` as a Ruby library, since you can just call `Jobim::Server.start(opts)` in other Ruby code. Note that when using this method, all options are required (unlike with the command line options).
3. It's easier to change the way that the CLI starts the server. This is especially useful for me, as I am experimenting with using [Thor](http://whatisthor.com/) instead of OptionsParser in my fork of `jobim`.