lotus/lotus — pull request #23 by lengarvey (2014-06-27 13:59:11+00:00)
Title: Add lotus binary

Adds a `lotus` binary. Currently uses thor to parse arguments etc but could easily be changed in the future. Right now this only adds 1 useful command: `server`.

### Output
```
ᐅ bundle exec lotus
Commands:
lotus help [COMMAND] # Describe available commands or one specific command
lotus server # starts a lotus server
ᐅ bundle exec lotus server
[2014-06-27 23:47:55] INFO WEBrick 1.3.1
[2014-06-27 23:47:55] INFO ruby 2.1.2 (2014-05-08) [x86_64-darwin13.0]
[2014-06-27 23:47:55] INFO WEBrick::HTTPServer#start: pid=27677 port=9292
```

### Misc
I also tracked down and figured out the cause of the content length issues in Safari. So this pull request also fixes #5 assuming someone starts the server using the `lotus` binary.

### Further work
Obvious further work includes things like:
* Lotus app generation similar to `rails new`. Would need to support the basic app structures laid out in the readme as well as a blank structure.
* Add a `lotus console` command.
* Live reloading. I think the best strategy for this is to use a forking option like in the shotgun gem. At least in the short term.

I'll probably attempt to tackle the second two options. I'm less fussed about the app generation command although I do think the binary should do something useful outside of a lotus application.

### Discussions
* Should we default the lotus port to 3000 or to something else?
* What other items would be useful to put into a `lotus` command?