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