From a6026c9c8237020370e5499db5afb7ddab58532f Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Date: Thu, 30 Aug 2012 08:41:43 +0300
Subject: [PATCH] Gitlab cli for development need at first

---
 gitlab | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100755 gitlab

diff --git a/gitlab b/gitlab
new file mode 100755
index 000000000..12cebd898
--- /dev/null
+++ b/gitlab
@@ -0,0 +1,70 @@
+#!/usr/bin/env ruby
+
+class GitlabCli
+  def initialize
+    @path = File.dirname(__FILE__)
+    @command = ARGV.shift
+    @mode = ARGV.shift
+  end
+
+  def execute
+    case @command
+    when 'start' then start
+    when 'stop' then stop
+    else
+      puts "-- Usage gitlab start production or gitlab stop development"
+    end
+  end
+
+  private
+
+  def start
+    case @mode
+    when 'production';
+      system(unicorn_start_cmd)
+    else
+      system(rails_start_cmd)
+    end
+    system(resque_start_cmd)
+  end
+
+  def stop
+    case @mode
+    when 'production';
+      system(unicorn_stop_cmd)
+    else
+      system(rails_stop_cmd)
+    end
+    system(resque_stop_cmd)
+  end
+
+  def rails_start_cmd
+    "bundle exec rails s -d"
+  end
+
+  def rails_stop_cmd
+    pid = File.join(@path, "tmp/pids/server.pid")
+    "kill -QUIT `cat #{pid}`"
+  end
+
+  def unicorn_start_cmd
+    unicorn_conf  = File.join(@path, "config/unicorn.rb")
+    "bundle exec unicorn_rails -c #{unicorn_conf} -E production -D"
+  end
+
+  def unicorn_stop_cmd
+    pid = File.join(@path, "/tmp/pids/unicorn.pid")
+    "kill -QUIT `cat #{pid}`"
+  end
+
+  def resque_start_cmd
+    "./resque.sh > /dev/null 2>&1"
+  end
+
+  def resque_stop_cmd
+    pid = File.join(@path, "tmp/pids/resque_worker.pid")
+    "kill -QUIT `cat #{pid}`"
+  end
+end
+
+GitlabCli.new.execute
-- 
2.30.9