From 429fd2cc1332ce3406eda363998eef6883465be7 Mon Sep 17 00:00:00 2001
From: Harald Eilertsen <haraldei@anduin.net>
Date: Fri, 25 Jan 2013 23:17:35 +0100
Subject: Add deploy script to generate unique secret token upon setup.

---
 config/deploy/secret_token.rb | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 config/deploy/secret_token.rb

(limited to 'config/deploy')

diff --git a/config/deploy/secret_token.rb b/config/deploy/secret_token.rb
new file mode 100644
index 0000000..80f2cd9
--- /dev/null
+++ b/config/deploy/secret_token.rb
@@ -0,0 +1,36 @@
+unless Capistrano::Configuration.respond_to?(:instance)
+  abort "This extension requires Capistrano 2"
+end
+
+Capistrano::Configuration.instance.load do
+
+  namespace :deploy do
+    namespace :token do
+
+      desc <<-DESC
+        Creates the secret token for the application.
+      DESC
+      task :setup, :except => { :no_release => true } do
+
+        default_template = <<-EOF
+        ReligionsfrihetNo::Application.config.secret_token = '#{`bundle exec rake secret`}'
+        EOF
+
+        run "mkdir -p #{shared_path}/config"
+        IO.write("#{shared_path}/config/secret_token.rb", default_template);
+      end
+
+      desc <<-DESC
+        [internal] Updates the symlink for secret_token.rb file to the just deployed release.
+      DESC
+      task :symlink, :except => { :no_release => true } do
+        run "ln -nfs #{shared_path}/config/secret_token.rb #{release_path}/config/secret_token.rb"
+      end
+
+    end
+
+    after "deploy:setup",           "deploy:token:setup"   unless fetch(:skip_token_setup, false)
+    after "deploy:finalize_update", "deploy:token:symlink"
+  end
+
+end
-- 
cgit v1.2.3