require ‘faraday’ require ‘crashbreak/repositories/base_repository’ require ‘crashbreak/repositories/deploys_repository’

namespace :crashbreak do

desc 'Send the deployment notification to Crashbreak.'
task :deploy do
  on roles fetch(:crashbreak_role) do
    deploy_hash = {
        user: fetch(:crashbreak_user),
        environment: fetch(:crashbreak_env),
        head: fetch(:current_revision)
    }

    Crashbreak::DeploysRepository.new(fetch(:crashbreak_token), deploy_hash).create
    info 'Notification complete.'
  end
end

end

namespace :deploy do

after 'deploy:finished', 'crashbreak:deploy'

end

namespace :load do

task :defaults do
  set :crashbreak_user,  Proc.new { ENV['USER'] || ENV['USERNAME'] }
  set :crashbreak_env,   Proc.new { fetch :rails_env, 'production' }
  set :crashbreak_token, Proc.new { abort "Please specify the Crashbreak access token, set :crashbreak_token, 'your token'" }
  set :crashbreak_role,  Proc.new { :app }
end

end