diff options
Diffstat (limited to 'projects/mongrel_config/lib/mongrel_config/init.rb')
-rw-r--r-- | projects/mongrel_config/lib/mongrel_config/init.rb | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/projects/mongrel_config/lib/mongrel_config/init.rb b/projects/mongrel_config/lib/mongrel_config/init.rb deleted file mode 100644 index 623ea03..0000000 --- a/projects/mongrel_config/lib/mongrel_config/init.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'rubygems' -require 'gem_plugin' -require 'mongrel' - - -class ConfigTool < GemPlugin::Plugin "/commands" - include Mongrel::Command::Base - - def configure - if RUBY_PLATFORM =~ /mswin/ - options [ - ['-h', '--host ADDR', "Host to bind to for server", :@host, "0.0.0.0"], - ['-p', '--port NUMBER', "Port to bind to", :@port, "3001"], - ['-u', '--uri URI', "Where to put your config tool", :@uri, "/config"], - ['-R', '--mongrel PATH', "Path to mongrel_rails_service", :@mongrel_script, "c:\\ruby\\bin\\mongrel_rails_service"] - ] - else - options [ - ['-c', '--chdir PATH', "Change to dir before starting (will be expanded)", :@cwd, Dir.pwd], - ['-P', '--pid FILE', "Where to write the PID", :@pid_file, "log/mongrel.pid"], - ['-h', '--host ADDR', "Host to bind to for server", :@host, "0.0.0.0"], - ['-p', '--port NUMBER', "Port to bind to", :@port, "3001"], - ['-u', '--uri URI', "Where to put your config tool", :@uri, "/config"] - ] - end - end - - def validate - valid?(@uri, "Must give a uri") - valid?(@port && @port.to_i > 0, "Must give a valid port") - valid?(@host, "Host IP to bind must be given") - - if RUBY_PLATFORM !~ /mswin/ - valid_dir? @cwd, "Cannot change to a directory that doesn't exist" - Dir.chdir @cwd - valid_dir? "log", "Log directory does not exist" - end - - return @valid - end - - - def run - # must require this here since rails and camping don't like eachother - if RUBY_PLATFORM =~ /mswin/ - require 'mongrel_config/win32_app' - $mongrel_rails_service = @mongrel_script - else - require 'mongrel_config/app' - end - - resources = GemPlugin::Manager.instance.resource "mongrel_config", "/" - $PID_FILE = @pid_file - - $server = Mongrel::Camping::start(@host,@port,@uri,Configure) - - puts "** Configure is running at http://#{@host}:#{@port}#{@uri}" - if RUBY_PLATFORM !~ /mswin/ - trap("INT") { - $server.stop - } - puts "Use CTRL-C to quit." - else - puts "Use CTRL-Pause/Break to quit." - end - - # add our log directory - $server.register("/log", Mongrel::DirHandler.new("log")) - $server.register("/config/resources", Mongrel::DirHandler.new(resources)) - - $server.acceptor.join - end -end - - |