SKKServ が簡単に作れそうな em-skkserv-ruby を作った

SocialSKK というものを大昔に作ったことがあるんだけど、それを作る時に SKKServ 側で変なレスポンス返すと AquaSKK が OS 巻き込みながら死んで最悪、みたいなことがあったので、手軽に SKKServ 作るライブラリみたいなのが欲しかった。

それから 5 年以上経ったけど、そういうの出ないので作った。ライブラリというほどのものでも無いんだけど、こんな感じで SKKServ が作れる。

require 'em-skkserv'

class YuiSKK < EM::SKKServ::Server
  def on_request(kana)
    if kana == 'ゆい'
      found ['ゆい(*-v・)ゆい']
    else
      not_found
    end
  end
end

EM.run do
  EM.start_server "127.0.0.1", 1178, YuiSKK
end

example に socialskk.rb を移植したやつおいているけど、ほんの 10 分くらいで作れてしまった。

僕はやってないけど Google 日本語入力 API を使ったり、 Baidu IME にリクエストを投げる SKKServ 作ったりすると良いと思う。

追記

Ruby で eval するだけの SKKServ とか作ってみた。

こういったどうでも良い IME が一瞬で作れるようになるのかなり革命っぽい。