

set :application, 'php_app' 
  set :domain, '62.210.187.249'

set :user, 'web'
set :scm_user, "git"
set :scm_host, "gitlab.bally.me"



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

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





set :deploy_to, "/home/#{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}:root/#{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/unicorn_init_d /etc/init.d/#{application}"
    
    sudo "chmod +x /etc/init.d/#{application}"
    sudo "update-rc.d #{application} defaults  "
  end



  task :start do 
    sudo "service #{application} start"
  end
  task :stop do 
    run "service #{application} stop"  
  end
  task :restart do
    sudo "service #{application} restart"
  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"
    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"


  