Commit 94cff49

mo khan <mo@mokhan.ca>
2015-05-30 03:09:39
hound happy.
1 parent ff9d41f
Changed files (3)
config
lib
capistrano
config/deploy.rb
@@ -1,5 +1,6 @@
 # config valid only for current version of Capistrano
 lock "3.4.0"
+$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
 
 set :application, "stronglifters"
 set :repo_url, "git@github.com:stronglifters/surface.git"
@@ -11,9 +12,8 @@ set :branch, "master"
 # Default deploy_to directory is /var/www/my_app_name
 # set :deploy_to, "/var/www/my_app_name"
 
-$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
 # Default value for :scm is :git
-#set :scm, :git
+# set :scm, :git
 set :scm, :s3
 set :bucket_name, "stronglifters"
 
lib/capistrano/s3.rb
@@ -1,6 +1,6 @@
 load File.expand_path("../../tasks/s3.rake", __FILE__)
 
-require 'capistrano/scm'
+require "capistrano/scm"
 
 class Capistrano::S3 < Capistrano::SCM
   def s3(*args)
@@ -24,12 +24,16 @@ class Capistrano::S3 < Capistrano::SCM
     end
 
     def update
-      s3 "cp s3://#{bucket_name}/#{rails_env}/#{build_revision} #{repo_path}/#{build_revision}"
+      source = "s3://#{bucket_name}/#{rails_env}/#{build_revision}"
+      destination = "#{repo_path}/#{build_revision}"
+      s3 "cp #{source} #{destination}"
     end
 
     def release
       context.execute("mkdir -p #{release_path}")
-      context.execute("tar -xvzf #{repo_path}/#{build_revision} --strip-components=1 -C #{release_path}")
+      path = "#{repo_path}/#{build_revision}"
+      strip = "--strip-components=1"
+      context.execute("tar -xvzf #{path} #{strip} -C #{release_path}")
     end
 
     def bucket_name
@@ -41,7 +45,9 @@ class Capistrano::S3 < Capistrano::SCM
     end
 
     def build_revision
-      context.capture(:aws, "s3 ls #{bucket_name}/#{rails_env}/ | sort | tail -n1 | awk '{ print $4 }'").strip
+      awk = "awk '{ print $4 }'"
+      command = "s3 ls #{bucket_name}/#{rails_env}/ | sort | tail -n1 | #{awk}"
+      context.capture(:aws, command).strip
     end
   end
 end
Capfile
@@ -20,8 +20,8 @@ require 'capistrano/rbenv'
 # require 'capistrano/chruby'
 require 'capistrano/bundler'
 require 'capistrano/rails'
-#require 'capistrano/rails/assets'
-#require 'capistrano/rails/migrations'
+# require 'capistrano/rails/assets'
+# require 'capistrano/rails/migrations'
 # require 'capistrano/passenger'
 
 # Load custom tasks from `lib/capistrano/tasks` if you have any defined