Class Gem::Command
In: lib/rubygems/command.rb
Parent: Object

Base class for all Gem commands. When creating a new gem command, define arguments, defaults_str, description and usage (as appropriate).

Methods

Included Modules

UserInteraction

Attributes

command  [R]  The name of the command.
defaults  [RW]  The default options for the command.
options  [R]  The options for the command.
program_name  [RW]  The name of the command for command-line invocation.
summary  [RW]  A short description of the command.

Public Class methods

Initializes a generic gem command named command. summary is a short description displayed in `gem help commands`. defaults are the default options. Defaults should be mirrored in defaults_str, unless there are none.

Use add_option to add command-line switches.

Public Instance methods

Add a command-line option and handler to the command.

See OptionParser#make_switch for an explanation of opts.

handler will be called with two values, the value of the argument and the options hash.

Override to provide details of the arguments a command takes. It should return a left-justified string, one argument per line.

True if long begins with the characters from short.

Override to display the default values of the command options. (similar to arguments, but displays the default values).

Override to display a longer description of what this command does.

Override to provide command handling.

Get all gem names from the command line.

Get the single gem name from the command line. Fail if there is no gem name or if there is more than one gem name given.

Get a single optional argument from the command line. If more than one argument is given, return only the first. Return nil if none are given.

Handle the given list of arguments by parsing them and recording the results.

True if the command handles the given argument list.

Invoke the command with the given list of arguments.

Merge a set of command options with the set of default options (without modifying the default option hash).

Remove previously defined command-line argument name.

Display the help message for the command.

Override to display the usage for an individual gem command.

Call the given block when invoked.

Normal command invocations just executes the execute method of the command. Specifying an invocation block allows the test methods to override the normal action of a command to determine that it has been invoked correctly.

[Validate]