set_default(:unicorn_user) { user }
set_default(:unicorn_pid) { "#{current_path}/tmp/pids/unicorn.pid" }
set_default(:unicorn_config) { "#{shared_path}/config/unicorn.rb" }
set_default(:unicorn_log) { "#{shared_path}/log/unicorn.log" }
set_default(:unicorn_workers, 2) 

namespace :unicorn do
  desc "Setup Unicorn initializer and app configuration"
  task :setup, roles: :app do
    run "mkdir -p #{shared_path}/config"
    template "unicorn.rb.erb", unicorn_config
    tmp_unicorn_init = "/tmp/unicorn_init"
    template "unicorn_init.erb", tmp_unicorn_init
    run "chmod +x #{tmp_unicorn_init}"
    run "#{sudo} mv #{tmp_unicorn_init} /etc/init.d/unicorn_#{application}"
    run "#{sudo} update-rc.d -f unicorn_#{application} defaults"
  end
  after "deploy:setup", "unicorn:setup"
  
  
  %w[start stop restart].each do|command|
    desc "#{command} unicorn"
    task command, roles: :app do
      run "#{sudo} service unicorn_#{application} #{command}"
    end
    after "deploy:#{command}", "unicorn:#{command}"
  end
end