CLI::Command
Here is an example of usage:
# General Options module GeneralOptions attr_accessor :dryrun ; alias_accessor :n, :noharm, :dryrun attr_accessor :quiet ; alias_accessor :q, :quiet attr_accessor :force attr_accessor :trace end # Build Subcommand class BuildCommand < CLI::Command include GeneralOptions # metadata files attr_accessor :file ; alias_accessor :f, :file attr_accessor :manifest ; alias_accessor :m, :manifest def call # do stuf here end end # Box Master Command class BoxCommand < CLI::Command subcommand :build, BuildCommand end BoxCommand.start
Authors
- Trans
Todo
- Move helpers into core.
- Add global options to master command, or "all are master options" flag (?)
- Add usage/help/documentation/man features (?)
Copying
Copyright (c) 2005,2008 Thomas Sawyer
Ruby License
This module is free software. You may use, modify, and/or redistribute this software under the same terms as Ruby.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Required Files
- facets/arguments
- facets/consoleutils
- facets/array/not_empty