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.