As Ruby pro David Copeland explains, writing a command-line application that is self-documenting, robust, adaptable and forever useful is easier than you might think. Ruby is particularly suited to this task, since it combines high-level abstractions with "close to the metal" system interaction wrapped up in a concise, readable syntax. Moreover, Ruby has the support of a rich ecosystem of open-source tools and libraries.
Ten insightful chapters each explain and demonstrate a command-line best practice. You'll see how to use these tools to elevate the lowliest automation script to a maintainable, polished application.
You'll learn how to use free, open source parsers to create user-friendly command-line interfaces as well as command suites. You'll see how to use defaults to keep options simple for everyday users, while giving advanced users options for more complex tasks.
There's no reason a command-line application should lack documentation, whether it's part of a help command or a man page; you'll find out when and how to use both. Your journey from command-line novice to pro ends with a look at valuable approaches to testing your apps, and includes some fun techniques for outside-the-box, colorful interfaces that will delight your users.
With Ruby, the command line is not dead. Long live the command line.
What You Need:
All you'll need is Ruby, and the ability to install a few gems along the way. Examples written for Ruby 1.9.2, but 1.8.7 should work just as well.
The Art of Software Testing, Second Edition At the time this book was first
published, in 1979, it was a well-known rule of thumb that in a typical
programming project approximately 50 percent of the elapsed
time and more than 50 percent of the total cost were expended in
testing the program or system being developed.
Today, a quarter of the century later, the...
ebXML: The New Global Standard for Doing Business on the Internet Any businessperson can tell you that doing business is more than just selling consumer goods. It covers the entire panoply of interactions with suppliers, distributors, investors,staff,as well as customers-all of the entities that have a stake in the performance of the company. This book is about doing electronic business (or e-business),and a...
Pro SharePoint with jQuery
In 2009, Lightning Tools decided to take one of its best-selling products, a desktop application, and put it
into the browser as an application page in SharePoint—which turned out to be quite a challenge. When
we were looking at technologies to use, jQuery stood out as something that could be really helpful.
We spent a lot of... Combustion, Fourth Edition
Combustion Engineering, a topic generally taught at the upper undergraduate and graduate level in most mechanical engineering programs, and many chemical engineering programs, is the study of rapid energy and mass transfer usually through the common physical phenomena of flame oxidation. It covers the physics and chemistry of this process and...
3D Model Recognition from Stereoscopic Cues (Artificial Intelligence Series) 3D Model Recognition from Stereoscopic Cues provides a rich, integrated account of work done within a large-scale, multisite, Alvey-funded collaborative project in computer vision. It presents a variety of methods for deriving surface descriptions from stereoscopic data and for matching those descriptions to three-dimensional models...