Browse Source

Moving capistrano functions to rails plugin

Robby Russell 14 years ago
parent
commit
c21d3775a9
1 changed files with 23 additions and 1 deletions
  1. 23 1
      plugins/rails.plugin.zsh

+ 23 - 1
plugins/rails.plugin.zsh

@@ -7,4 +7,26 @@ alias ssp='ruby script/spec'
 alias rdbm='rake db:migrate'
 alias sc='ruby script/console'
 alias sd='ruby script/server --debugger'
-alias devlog='tail -f log/development.log'
+alias devlog='tail -f log/development.log'
+
+function _cap_does_task_list_need_generating () {
+  if [ ! -f .cap_tasks~ ]; then return 0;
+  else
+    accurate=$(stat -f%m .cap_tasks~)
+    changed=$(stat -f%m config/deploy.rb)
+    return $(expr $accurate '>=' $changed)
+  fi
+}
+
+function _cap () {
+  if [ -f config/deploy.rb ]; then
+    if _cap_does_task_list_need_generating; then
+      echo "\nGenerating .cap_tasks~..." > /dev/stderr
+      cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D'
+> .cap_tasks~
+    fi
+    compadd `cat .cap_tasks~`
+  fi
+}
+
+compctl -K _cap cap