README.md in sysexits-1.0.1 vs README.md in sysexits-1.0.2
- old
+ new
@@ -1,46 +1,109 @@
# sysexits
-Sysexits is a _completely awesome_ collection of human-readable constants for the standard (BSDish) exit codes, used as arguments to `Kernel.exit` to indicate a specific error condition to the parent process.
+* http://deveiate.org/sysexits.html
-It's so fantastically fabulous that you'll want to fork it right away to avoid being thought of as that guy that's still using Webrick for his blog. I mean, `exit(1)` is so passé! This is like the 14-point font of Systems Programming.
+## Description
-Like the C header file from which this was derived (I mean forked, naturally), error numbers begin at `Sysexits::EX__BASE` (which is way more cool than plain old '64') to reduce the possibility of clashing with other exit statuses that other programs may already return.
+Have you ever wanted to call exit() with an error condition, but weren't sure
+what exit status to use? No? Maybe it's just me, then.
-The codes are available in two forms: as constants which can be imported into your own namespace via `include Sysexits`, or as `Sysexits::STATUS_CODES`, a Hash keyed by Symbols derived from the constant names.
+Anyway, I was reading manpages late one evening before retiring to bed in my
+palatial estate in rural Oregon, and I stumbled across sysexits(3). Much to my
+chagrin, I couldn't find a 'sysexits' for Ruby! Well, for the other 2 people
+that actually care about style(9) as it applies to Ruby code, now there is
+one!
+Sysexits is a _completely awesome_ collection of human-readable constants for
+the standard (BSDish) exit codes, used as arguments to `Kernel.exit` to
+indicate a specific error condition to the parent process.
+
+It's so fantastically fabulous that you'll want to fork it right away to avoid
+being thought of as that guy that's still using Webrick for his blog. I mean,
+`exit(1)` is so passé! This is like the 14-point font of Systems Programming.
+
+Like the C header file from which this was derived (I mean forked, naturally),
+error numbers begin at `Sysexits::EX__BASE` (which is way more cool than plain
+old '64') to reduce the possibility of clashing with other exit statuses that
+other programs may already return.
+
+The codes are available in two forms: as constants which can be imported into
+your own namespace via `include Sysexits`, or as `Sysexits::STATUS_CODES`, a
+Hash keyed by Symbols derived from the constant names.
+
Allow me to demonstrate. First, the old way:
exit( 69 )
-Whaaa...? Is that a euphemism? What's going on? See how unattractive and... well, 1970 that is? We're not changing vaccuum tubes here, people, we're _building a totally-awesome future in the Cloud™!_
+Whaaa...? Is that a euphemism? What's going on? See how unattractive and...
+well, 1970 that is? We're not changing vaccuum tubes here, people, we're
+_building a totally-awesome future in the Cloud™!_
include Sysexits
exit EX_UNAVAILABLE
-Okay, at least this is readable to people who have used fork() more
-than twice, but you could do so much better!
+Okay, at least this is readable to people who have used fork() more than
+twice, but you could do so much better!
include Sysexits
exit :unavailable
-Holy Toledo! It's like we're writing Ruby, but our own made-up
-dialect in which variable++ is possible! Well, okay, it's not quite
-that cool. But it does look more Rubyish. And no monkeys were patched
-in the filming of this episode! All the simpletons still exiting
-with icky *numbers* can still continue blithely along, none the
-wiser.
+Holy Toledo! It's like we're writing Ruby, but our own made-up dialect in
+which variable++ is possible! Well, okay, it's not quite that cool. But it
+does look more Rubyish. And no monkeys were patched in the filming of this
+episode! All the simpletons still exiting with icky *numbers* can still
+continue blithely along, none the wiser.
## Contributing
-You can check out the current development source with Mercurial like so:
+You can clone the source with Mercurial, submit bug reports, suggestions,
+etc., via the project page:
- hg clone http://repo.deveiate.org/sysexits
+ https://bitbucket.org/ged/sysexits
-You can submit bug reports, suggestions, and read more super-excited pointless marketing at:
+Or if you prefer Git, you can clone the source via its Github mirror:
+ https://github.com/ged/sysexits
+
+After checking out the source, run:
+
+ $ rake newb
+
+This task will install any missing dependencies, run the tests/specs,
+and generate the RDoc.
+
+You can read more super-exited pointless marketing at:
+
http://deveiate.org/sysexits.html
-# License
+Or maybe not.
-See the included [LICENSE](LICENSE.html) file for licensing details.
+## License
+
+Copyright (c) 2010, Michael Granger
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the author/s, nor the names of the project's
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.