lib/airbrake/capistrano.rb in airbrake-3.0.2 vs lib/airbrake/capistrano.rb in airbrake-3.0.3
- old
+ new
@@ -1,21 +1,32 @@
# Defines deploy:notify_airbrake which will send information about the deploy to Airbrake.
+require 'capistrano'
-Capistrano::Configuration.instance(:must_exist).load do
- after "deploy", "deploy:notify_airbrake"
- after "deploy:migrations", "deploy:notify_airbrake"
+module Airbrake
+ module Capistrano
+ def self.load_into(configuration)
+ configuration.load do
+ after "deploy", "airbrake:notify"
+ after "deploy:migrations", "airbrake:notify"
- namespace :deploy do
- desc "Notify Airbrake of the deployment"
- task :notify_airbrake, :except => { :no_release => true } do
- rails_env = fetch(:airbrake_env, fetch(:rails_env, "production"))
- local_user = ENV['USER'] || ENV['USERNAME']
- executable = RUBY_PLATFORM.downcase.include?('mswin') ? fetch(:rake, 'rake.bat') : fetch(:rake, 'rake')
- notify_command = "#{executable} airbrake:deploy TO=#{rails_env} REVISION=#{current_revision} REPO=#{repository} USER=#{local_user}"
- notify_command << " DRY_RUN=true" if dry_run
- notify_command << " API_KEY=#{ENV['API_KEY']}" if ENV['API_KEY']
- puts "Notifying Airbrake of Deploy (#{notify_command})"
- `#{notify_command}`
- puts "Airbrake Notification Complete."
+ namespace :airbrake do
+ desc "Notify Airbrake of the deployment"
+ task :notify, :except => { :no_release => true } do
+ rails_env = fetch(:airbrake_env, fetch(:rails_env, "production"))
+ local_user = ENV['USER'] || ENV['USERNAME']
+ executable = RUBY_PLATFORM.downcase.include?('mswin') ? fetch(:rake, 'rake.bat') : fetch(:rake, 'rake')
+ notify_command = "#{executable} airbrake:deploy TO=#{rails_env} REVISION=#{current_revision} REPO=#{repository} USER=#{local_user}"
+ notify_command << " DRY_RUN=true" if dry_run
+ notify_command << " API_KEY=#{ENV['API_KEY']}" if ENV['API_KEY']
+ logger.info "Notifying Airbrake of Deploy (#{notify_command})"
+ `#{notify_command}` if !configuration.dry_run
+ logger.info "Airbrake Notification Complete."
+ end
+ end
+ end
end
end
+end
+
+if Capistrano::Configuration.instance
+ Airbrake::Capistrano.load_into(Capistrano::Configuration.instance)
end