#!/usr/bin/env ruby
# =======================================================
# 外部連携するRails開発において外部サーバのモックアプリとRailsアプリを同時起動するスクリプト
#
# ex.)
# RAILS_ROOT/lib/external_server/server.rb
#
# $ ruby script/external_server
# => Rails'command run 'script/server'
# オプションはRailsのものと同じ
#
# mongrel_railsを利用する場合
# $ ruby script/external_server mongrel_rails
# => 'mongrel_rails'
# =======================================================
RAILS_ROOT = File.expand_path( File.join( File.dirname(__FILE__), '..') ) unless defined? RAILS_ROOT
t1 = Thread.new do
if ARGV.first =~ /^mongrel_rails/
system "mongrel_rails start"
else
system "#{File.join(RAILS_ROOT, 'script', 'server')} #{ARGV.join(' ')}"
end
end
unless ARGV.first =~ /^-h/
t2 = Thread.new do
system 'ruby', "#{File.join(RAILS_ROOT, 'lib', 'external_server', 'server.rb')}"
end
t2.join
end
t1.join
if ARGV.first =~ /^-h/
Thread.kill(t1)
Thread.exit
end