20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/net/irc/cli.rb', line 20
def self.run(server_session_klass, argv)
opts = {
:port => 16701,
:host => "localhost",
:log => nil,
:debug => false,
:foreground => false,
}
OptionParser.new do |parser|
parser.instance_eval do
self.banner = " Usage: \#{$0} [opts]\n\n EOB\n\n separator \"\"\n\n separator \"Options:\"\n on(\"-p\", \"--port [PORT=\#{opts[:port]}]\", \"port number to listen\") do |port|\n opts[:port] = port\n end\n\n on(\"-h\", \"--host [HOST=\#{opts[:host]}]\", \"host name or IP address to listen\") do |host|\n opts[:host] = host\n end\n\n on(\"-l\", \"--log LOG\", \"log file\") do |log|\n opts[:log] = log\n end\n\n on(\"--debug\", \"Enable debug mode\") do |debug|\n opts[:log] = $stdout\n opts[:debug] = true\n end\n\n on(\"-f\", \"--foreground\", \"run foreground\") do |foreground|\n opts[:log] = $stdout\n opts[:foreground] = true\n end\n\n parse!(argv)\n end\n end\n\n opts[:logger] = Logger.new(opts[:log], \"daily\")\n opts[:logger].level = opts[:debug] ? Logger::DEBUG : Logger::INFO\n\n daemonize(opts[:debug] || opts[:foreground]) do\n Net::IRC::Server.new(opts[:host], opts[:port], server_session_klass, opts).start\n end\nend\n".gsub(/^\t+/, "")
|