* riece-hangman.el (riece-hangman-hello-regexp): Changed regexp.
[riece] / lisp / server.rb
index cc29694..903e933 100644 (file)
@@ -2,8 +2,12 @@
 
 require 'thread'
 
-class RubyServ
-  module C
+class Server
+  module B
+    def output(s)
+      puts("# output #{Thread.current[:rubyserv_name]} #{s}\r\n")
+    end
+    module_function :output
   end
 
   def initialize
@@ -73,10 +77,10 @@ class RubyServ
     Thread.current[:rubyserv_name] = name
     begin
       Thread.current[:rubyserv_error] = false
-      Thread.current[:rubyserv_response] = eval(r, C.module_eval('binding()'))
+      Thread.current[:rubyserv_response] = eval(r, B.module_eval('binding()'))
     rescue Exception => e
       Thread.current[:rubyserv_error] = true
-      Thread.current[:rubyserv_response] = e
+      Thread.current[:rubyserv_response] = e.to_s.sub(/\A.*?\n/, '')
     end
     puts("# exit #{name}\r\n")
   end
@@ -117,11 +121,7 @@ class RubyServ
   end
 
   def unescape(s)
-    s.gsub(/%([0-9A-Z][0-9A-Z])/, ['\1'].pack('H*'))
-  end
-
-  def output(s)
-    puts("# output #{Thread.current[:rubyserv_name]} #{s}\r\n")
+    s.gsub(/%([0-9A-Z][0-9A-Z])/) {[$1].pack('H*')}
   end
 
   def send_data(d)
@@ -145,8 +145,8 @@ class RubyServ
 end
 
 if $0 == __FILE__
-  serv = RubyServ.new
+  server = Server.new
   while gets
-    serv.dispatch($_)
+    server.dispatch($_)
   end
 end