Rails から Text::Hatena を使う

Rails で作ったアプリではてな記法が使いたくて、確か Text::HatenaRuby 版があったよなぁとか思いつつ検索したんだけど見つからなくて、自分で作るなんてあり得ないし、だったら Perl 版そのまま使えばいいんじゃねと言うことで作りました。

特徴

サーバ起動時に Text::Hatena 用に Perl を別プロセスで立ち上げて socket で通信します。
Text::Hatena->new への引数は config/text_hatena.yml に書きます。(なので毎回別のオプションで parse とかできません)

使い方

% script/plugin install http://opensvn.csie.org/m4i/rails/text_hatena

でインストールして、はてな記法が使いたいところで

html = TextHatena.parse text

と書くだけです。

あと CPAN あたりから、Text::Hatena, YAML, Jcode, Readonly をインストールしておいてください。

問題点

WEBrick と Mongrel では動作確認しましたが、サーバをデーモンとして動かすとサーバ止めても Text::Hatena 用のプロセスが消えません。socket とか signal とか初めて聞いたような人が作ったのでどうすればいいのか全くわかりません。よって全体の完成度もそれなりです。



ってこの記事書きながら、もう一回検索してみたらあったよ…。

http://moonrock.jp/~don/ruby/text-hatena/README.html