README.md in rerun-0.2 vs README.md in rerun-0.2.1

- old
+ new

@@ -7,19 +7,41 @@ Currently only *.rb files are watched, anywhere under the current directory (.). This is pretty lame so it will change soon. If you're on Mac OS X, it uses the built-in facilities for monitoring -the filesystem, so CPU use is very light. +the filesystem, so CPU use is very light. -If you have "growlcmd" available on the PATH, it sends notifications to -growl in addition to the console. +If you have "growlcmd" available on the PATH, it sends notifications +to growl in addition to the console. +# Installation: + + sudo gem install rerun + +or... + + gem sources -a http://gems.github.com/ + sudo gem install alexch-rerun + +(The github way isn't working yet for some reason. Maybe I have to wait for cron to run or something.) + # Usage: rerun [options] cmd +For example, if you're running a Sinatra app whose main file is +app.rb: + + rerun app.rb + +Or if you're running a Rack app that's configured in config.ru +but you want to override its port: + + rerun "thin start --port=4000 -R config.ru" + + # Options: Only --version and --help so far. # To Do: @@ -34,29 +56,49 @@ Shotgun: <http://github.com/rtomayko/shotgun> # Why would I use this instead of Shotgun? -Shotgun does a "fork" after the web framework has loaded but before your application is -loaded. It then loads your app, processes a single request in the child process, then exits the child process. +Shotgun does a "fork" after the web framework has loaded but before +your application is loaded. It then loads your app, processes a +single request in the child process, then exits the child process. -Rerun launches the whole app, then when it's time to restart, uses "kill" to shut it -down and starts the whole thing up again from scratch. +Rerun launches the whole app, then when it's time to restart, uses +"kill" to shut it down and starts the whole thing up again from +scratch. -So rerun takes somewhat longer than Shotgun to restart the app, but does it much less -frequently. And once it's running it behaves more normally and consistently with your -production app. +So rerun takes somewhat longer than Shotgun to restart the app, but +does it much less frequently. And once it's running it behaves more +normally and consistently with your production app. -Also, Shotgun reloads the app on every request, even if it doesn't need to. This is -fine if you're loading a single file, but my web pages all load other files (CSS, JS, -media) and that adds up quickly. The developers of shotgun are probably using caching -or a front web server so this doesn't affect them too much. +Also, Shotgun reloads the app on every request, even if it doesn't +need to. This is fine if you're loading a single file, but my web +pages all load other files (CSS, JS, media) and that adds up quickly. +The developers of shotgun are probably using caching or a front web +server so this doesn't affect them too much. YMMV! -# Contact +# Why did you write this? -Alex Chaffee, <mailto:alex@stinky.com>, <http://github.com/alexch/> +I've been using [Sinatra](http://sinatrarb.com) and loving it. In +order to simplify their system, the Rat Pack just took out +auto-reloading. I approve of this: a web application framework should +be focused on serving requests, not on munging Ruby ObjectSpace. But +I still wanted automatic reloading during development. Shotgun wasn't +working for me (see above) so I spliced Rerun together out of . + +# Credits + +Rerun: Alex Chaffee, <mailto:alex@stinky.com>, <http://github.com/alexch/> + +Based upon and/or inspired by: + +Shotgun: <http://github.com/rtomayko/shotgun> + +Rspactor: <http://github.com/mislav/rspactor> + +FileSystemWatcher: <http://paulhorman.com/filesystemwatcher/> # License Open Source MIT License. See "LICENSE" file.