Class: Capistrano::CLI

### Home Classes Methods

### In Files

- lib/capistrano/cli.rb
- lib/capistrano/cli/execute.rb
- lib/capistrano/cli/help.rb
- lib/capistrano/cli/options.rb
- lib/capistrano/cli/ui.rb

### Parent

Object

### Namespace

- MODULE Capistrano::CLI::Execute
- MODULE Capistrano::CLI::Help
- MODULE Capistrano::CLI::Options
- MODULE Capistrano::CLI::UI

### Methods

- ::new

### Included Modules

- Capistrano::CLI::Execute
- Capistrano::CLI::Options
- Capistrano::CLI::UI
- Capistrano::CLI::Help

### Files

- help.txt

### Class/Module Index

Quicksearch

- Capistrano
- Capistrano::CLI
- Capistrano::CLI::Execute
- Capistrano::CLI::Execute::ClassMethods
- Capistrano::CLI::Help
- Capistrano::CLI::Options
- Capistrano::CLI::Options::ClassMethods
- Capistrano::CLI::UI
- Capistrano::CLI::UI::ClassMethods
- Capistrano::Callback
- Capistrano::Command
- Capistrano::Command::Tree
- Capistrano::Command::Tree::Branch
- Capistrano::Command::Tree::ConditionBranch
- Capistrano::Command::Tree::ConditionBranch::Evaluator
- Capistrano::Command::Tree::ElseBranch
- Capistrano::Configuration
- Capistrano::Configuration::Actions
- Capistrano::Configuration::Actions::FileTransfer
- Capistrano::Configuration::Actions::Inspect
- Capistrano::Configuration::Actions::Invocation
- Capistrano::Configuration::Actions::Invocation::ClassMethods
- Capistrano::Configuration::AliasTask
- Capistrano::Configuration::Callbacks
- Capistrano::Configuration::Connections
- Capistrano::Configuration::Execution
- Capistrano::Configuration::Loading
- Capistrano::Configuration::Loading::ClassMethods
- Capistrano::Configuration::LogFormatters
- Capistrano::Configuration::Namespaces
- Capistrano::Configuration::Namespaces::Namespace
- Capistrano::Configuration::Roles
- Capistrano::Configuration::Servers
- Capistrano::Configuration::Variables
- Capistrano::Deploy
- Capistrano::Deploy::Dependencies
- Capistrano::Deploy::LocalDependency
- Capistrano::Deploy::RemoteDependency
- Capistrano::Deploy::SCM
- Capistrano::Deploy::SCM::Accurev
- Capistrano::Deploy::SCM::Accurev::InternalRevision
- Capistrano::Deploy::SCM::Base
- Capistrano::Deploy::SCM::Base::LocalProxy
- Capistrano::Deploy::SCM::Bzr
- Capistrano::Deploy::SCM::Cvs
- Capistrano::Deploy::SCM::Darcs
- Capistrano::Deploy::SCM::Git
- Capistrano::Deploy::SCM::Mercurial
- Capistrano::Deploy::SCM::None
- Capistrano::Deploy::SCM::Perforce
- Capistrano::Deploy::SCM::Subversion
- Capistrano::Deploy::Strategy
- Capistrano::Deploy::Strategy::Base
- Capistrano::Deploy::Strategy::Checkout
- Capistrano::Deploy::Strategy::Copy
- Capistrano::Deploy::Strategy::Export
- Capistrano::Deploy::Strategy::Remote
- Capistrano::Deploy::Strategy::RemoteCache
- Capistrano::Deploy::Strategy::UnsharedRemoteCache
- Capistrano::ProcCallback
- Capistrano::Processable
- Capistrano::Processable::SessionAssociation
- Capistrano::RemoteError
- Capistrano::Role
- Capistrano::Role::DynamicServerList
- Capistrano::SSH
- Capistrano::ServerDefinition
- Capistrano::Shell
- Capistrano::TaskCallback
- Capistrano::TaskDefinition
- Capistrano::Transfer
- Capistrano::Transfer::SFTPTransferWrapper
- Capistrano::Version
- Kernel
- Object
- String

No matching classes.

# Capistrano::CLI

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.

### Attributes

args[R]

The array of (unparsed) command-line options

### Public Class Methods

new(args) click to toggle source

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.

    # File lib/capistrano/cli.rb, line 37
    def initialize(args)
      @args = args.dup
      $stdout.sync = true # so that Net::SSH prompts show up
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.