class Rails::Server::Options

def parse!(args)

def parse!(args)
  args, options = args.dup, {}
  opt_parser = OptionParser.new do |opts|
    opts.banner = "Usage: rails server [mongrel, thin, etc] [options]"
    opts.on("-p", "--port=port", Integer,
            "Runs Rails on the specified port.", "Default: 3000") { |v| options[:Port] = v }
    opts.on("-b", "--binding=ip", String,
            "Binds Rails to the specified ip.", "Default: 0.0.0.0") { |v| options[:Host] = v }
    opts.on("-c", "--config=file", String,
            "Use custom rackup configuration file") { |v| options[:config] = v }
    opts.on("-d", "--daemon", "Make server run as a Daemon.") { options[:daemonize] = true }
    opts.on("-u", "--debugger", "Enable ruby-debugging for the server.") { options[:debugger] = true }
    opts.on("-e", "--environment=name", String,
            "Specifies the environment to run this server under (test/development/production).",
            "Default: development") { |v| options[:environment] = v }
    opts.on("-P","--pid=pid",String,
            "Specifies the PID file.",
            "Default: tmp/pids/server.pid") { |v| options[:pid] = v }
    opts.separator ""
    opts.on("-h", "--help", "Show this help message.") { puts opts; exit }
  end
  opt_parser.parse! args
  options[:server] = args.shift
  options
end