Class: Capistrano::CLI

Class | Capistrano::CLI
In: | lib/capistrano/cli/execute.rb lib/capistrano/cli/help.rb lib/capistrano/cli/options.rb lib/capistrano/cli/ui.rb lib/capistrano/cli.rb
Parent: | Object

The CLI class encapsulates the behavior of capistrano when it is invoked as a command-line utility. This allows other programs to embed Capistrano and preserve its command-line semantics.

### Methods

new

### Included Modules

Execute Options UI Help

### Classes and Modules

Module Capistrano::CLI::Execute
Module Capistrano::CLI::Help
Module Capistrano::CLI::Options
Module Capistrano::CLI::UI

### Attributes

args | [R] | The array of (unparsed) command-line options

### Public Class methods

new(args)

Create a new CLI instance using the given array of command-line parameters to initialize it. By default, `ARGV` is used, but you can specify a different set of parameters (such as when embedded cap in a program):

      require 'capistrano/cli'
      Capistrano::CLI.parse(%W(-vvvv -f config/deploy update_code)).execute!

Note that you can also embed cap directly by creating a new Configuration instance and setting it up, The above snippet, redone using the Configuration class directly, would look like:

      require 'capistrano'
      require 'capistrano/cli'
      config = Capistrano::Configuration.new
      config.logger.level = Capistrano::Logger::TRACE
      config.set(:password) { Capistrano::CLI.password_prompt }
      config.load "config/deploy"
      config.update_code

There may be times that you want/need the additional control offered by manipulating the Configuration directly, but generally interfacing with the CLI class is recommended.

[Validate]