lib/capistrano/local_precompile.rb in capistrano-local-precompile-1.1.4 vs lib/capistrano/local_precompile.rb in capistrano-local-precompile-1.1.5

- old
+ new

@@ -1,8 +1,7 @@ namespace :load do task :defaults do - set :precompile_env, fetch(:rails_env) || 'production' set :assets_dir, "public/assets" set :packs_dir, "public/packs" set :rsync_cmd, "rsync -av --delete" set :assets_role, "web" @@ -15,32 +14,32 @@ namespace :deploy do namespace :assets do desc "Remove all local precompiled assets" task :cleanup do run_locally do - with rails_env: fetch(:precompile_env) do - execute "rm", "-rf", fetch(:assets_dir) - execute "rm", "-rf", fetch(:packs_dir) - end + execute "rm", "-rf", fetch(:assets_dir) + execute "rm", "-rf", fetch(:packs_dir) end end desc "Actually precompile the assets locally" task :prepare do run_locally do - with rails_env: fetch(:precompile_env) do - execute "rake assets:clean" - execute "rake assets:precompile" + precompile_env = fetch(:precompile_env) || fetch(:rails_env) || 'production' + with rails_env: precompile_env do + execute "rake", "assets:clean" + execute "rake", "assets:precompile" end end end desc "Performs rsync to app servers" task :rsync do - on roles(fetch(:assets_role)) do |server| + on roles(fetch(:assets_role)), in: :parallel do |server| run_locally do - execute "#{fetch(:rsync_cmd)} ./#{fetch(:assets_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:assets_dir)}/" if Dir.exists?(fetch(:assets_dir)) - execute "#{fetch(:rsync_cmd)} ./#{fetch(:packs_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:packs_dir)}/" if Dir.exists?(fetch(:packs_dir)) + remote_shell = %(-e "ssh -p #{server.port}") if server.port + execute "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:assets_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:assets_dir)}/" if Dir.exists?(fetch(:assets_dir)) + execute "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:packs_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:packs_dir)}/" if Dir.exists?(fetch(:packs_dir)) end end end end end