A minor update, but I never announced this library before.
User-choices is a library that lets users make choices on the command
line, in environment variables, or in YAML or XML configuration files.
Aside from setup code, your program shouldn’t care how the user made a
choice. The command-line parsing is build on OptionParser.
It has a decent tutorial and a famous cybernetician as a mascot.