set :application, 'ual_app' 
set :domain, 'quartz-www02.sysnove.net'



set :user, 'web'
set :scm_user, "git"
set :scm_host, "quartz.snlab.fr"



set :rvm_ruby_string, 'ruby-2.1.2'           
set :rvm_autolibs_flag, "read-only"      

set :bundle_cmd, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle"
set :bundle_dir, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}"
set :use_sudo, false





set :deploy_to, "/srv/www/#{user}/#{application}/" 
set :deploy_via, :remote_cache

set :normalize_asset_timestamps, false

set :rails_env, "production"

role :app, domain
role :web, domain
role :db, domain, :primary => true

set :scm, :git

set :repository,  "#{scm_user}@#{scm_host}:nicolas/#{application}.git"

set :branch, "master"

default_run_options[:pty] = true 


require "rvm/capistrano"
require 'bundler/capistrano'




load 'deploy/assets'

namespace :deploy do

#  namespace :assets do
#    task :precompile, :roles => :web, :except => { :no_release => true } do
#      from = source.next_revision(current_revision)
#      if releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0
#        run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
#      else
#        logger.info "Skipping asset pre-compilation because there were no asset changes"
#      end
#    end
#  end



  desc "Symlink shared config files"
  task :symlink_config_files do
  
  
    run "ln -s #{deploy_to}shared/storage/private #{current_path}/private_medias"

    run "ln -s #{deploy_to}shared/storage/public #{current_path}/public/public_medias"


    run "ln -s #{deploy_to}shared/production.sqlite3 #{current_path}/db/production.sqlite3"
  
    sudo "cp #{current_path}/config/env_init #{deploy_to}env_init"
    
    sudo "sudo systemctl enable quartz_app@#{application}"
    
    
  

  end



  task :start do 
    sudo "systemctl start quartz_app@#{application}"
  end
  task :stop do 
    sudo "systemctl stop quartz_app@#{application}"
  end
  task :restart do
    sudo "systemctl stop quartz_app@#{application}"
    sudo "systemctl start quartz_app@#{application}"
  end

  task :reload_nginx do
  
    sudo "rm -rf /etc/nginx/sites-enabled/#{application}"
    sudo "ln -s #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application} "
  
    sudo "service nginx reload"
  end



  task :seeds do 
    run "cd #{deploy_to}current && rake db:seed RAILS_ENV=#{rails_env}"

  end


    task :create_files_folders do

      run "mkdir #{deploy_to}shared/storage"
      run "mkdir #{deploy_to}shared/storage/private"
      run "mkdir #{deploy_to}shared/storage/public"
      run "mkdir #{deploy_to}shared/tmp"
    end

  

end


#before 'deploy:setup', 'rvm:install_rvm'   # install RVM
#before 'deploy:setup', 'rvm:install_ruby'  # install Ruby and create gemset, OR:
#before 'deploy:setup', 'rvm:create_gemset' # only create gemset



after "deploy:setup", "deploy:create_files_folders"

#after "deploy:restart", "deploy:cleanup"


before "deploy:restart", "deploy:symlink_config_files"

after "deploy", "deploy:cleanup"