Module Capistrano::Configuration::Callbacks
In: lib/capistrano/configuration/callbacks.rb

Methods

Attributes

callbacks  [R]  The hash of callbacks that have been registered for this configuration

Public Instance methods

Defines a callback to be invoked after the given task. You must specify the fully-qualified task name, both for the primary task, and for the task(s) to be executed after. Alternatively, you can pass a block to be executed after the given task.

  after "deploy:update_code", :log_difference
  after :deploy, "custom:announce"
  after :deploy, :this, "then:this", "and:then:this"
  after :some_task do
    puts "an anonymous hook!"
  end

This just provides a convenient interface to the more general on method.

Defines a callback to be invoked before the given task. You must specify the fully-qualified task name, both for the primary task, and for the task(s) to be executed before. Alternatively, you can pass a block to be executed before the given task.

  before "deploy:update_code", :record_difference
  before :deploy, "custom:log_deploy"
  before :deploy, :this, "then:this", "and:then:this"
  before :some_task do
    puts "an anonymous hook!"
  end

This just provides a convenient interface to the more general on method.

Filters the given task name or names and attempts to replace deprecated tasks with their equivalents.

Defines one or more callbacks to be invoked in response to some event. Capistrano currently understands the following events:

  • :before, triggered before a task is invoked
  • :after, triggered after a task is invoked
  • :start, triggered before a top-level task is invoked via the command-line
  • :finish, triggered when a top-level task completes
  • :load, triggered after all recipes have loaded
  • :exit, triggered after all tasks have completed

Specify the (fully-qualified) task names that you want invoked in response to the event. Alternatively, you can specify a block to invoke when the event is triggered. You can also pass a hash of options as the last parameter, which may include either of two keys:

  • :only, should specify an array of task names. Restricts this callback so that it will only fire when the event applies to those tasks.
  • :except, should specify an array of task names. Restricts this callback so that it will never fire when the event applies to those tasks.

Usage:

 on :before, "some:hook", "another:hook", :only => "deploy:update"
 on :after, "some:hook", :except => "deploy:create_symlink"
 on :before, "global:hook"
 on :after, :only => :deploy do
   puts "after deploy here"
 end

Trigger the named event for the named task. All associated callbacks will be fired, in the order they were defined.

[Validate]