さっきかいたの

PACKAGE->inflate_column( query => { inflate => sub { my $u = URI->new; $u->query(shift);

            my $ret = {};
            for my $k ( $u->query_param ) {
                my @v = $u->query_param($k);
                $ret->{$k} = @v > 1 ? [@v] : $v[0];
            }

            $ret;
        },
        deflate => sub {
            my $utf8off = sub {
                my $str = shift;
                utf8::encode($str) if utf8::is_utf8($str);
            };

            my $hash = shift;
            for ( keys %$hash ) {
                if ( ref $hash->{$_} eq 'ARRAY' ) {
                    $utf8off->($_) for @{ $hash->{$_} };
                }
                else {
                    $utf8off->( $hash->{$_} );
                }
            }

            my $u = URI->new;
            $u->query_param(%$hash);
            $u->query;
        },
    }
);

foo=bar&baz=blah みたいなクエリを保存するカラムに、ハッシュで保存してハッシュで取り出すというやつ。

短くかけるかと思って書き始めたら、URIの query_formquery_param にutf8フラグったの渡すとこけたり、foo=bar&foo=baz のように配列になるべきものがうまくハッシュにできなかったりとかしてこんなに長く。

by typester / at 2006-04-10T17:33:00 / perl · dbic / Comment

Jemplate 試してみた。超楽。

あとTT理解できるデザイナであればjavascriptでつくってるHTMLがすぐわかるってのも利点だなぁ。

by typester / at 2006-04-10T11:14:00 / life · javascript · jemplate / Comment

出社。おお遅刻じゃない。

by typester / at 2006-04-10T09:59:00 / life / Comment

今日は妹のPCを買いに秋葉原へ。久しぶりすぎて駅前にメイド姿の人がいっぱいいるのに軽くカルチャーショックを受ける。

その後、そのまま厚木までいって叔父夫婦と食事。ホルモンテラウマス。

by typester / at 2006-04-09T22:43:00 / life / Comment

ls *.pl

ホームディレクトリには何も置いてないのだけど、~/temp でやったら

$ ls *.pl
array.pl        flickrtoken.pl  mua_list.pl       proxy.pl          test_gmail2.pl
atomclient.pl   geo.pl          musicsync.pl      require.pl        test_utf8.pl
atomtest.pl     gmail.pl        num.pl            stdin.pl          testdns.pl
classdata.pl    import.pl*      orz.pl            super.pl          testmore.pl
daap-server.pl  love.pl         overload.pl       syntaxhilight.pl  testtemp.pl
datetime.pl     maketable.pl    pathclass.pl      termtest.pl       under.pl
dbic_test.pl    mime.pl         plagger_test.pl*  test.pl           weaken.pl
filetemp.pl     mimelite.pl     podload.pl        test_emacs.pl
find.pl         movizotest.pl   podtest.pl        test_get.pl
flickrtest.pl   mua_count.pl    postmovie.pl      test_gmail.pl

こんなにでた。。

by typester / at 2006-04-08T20:58:00 / life / Comment

Catalyst::Plugin::Flavour 0.03pre

あぷ。新機能のドキュメント、テスト書いてないので Developer release にしておいてみる(ぉ

いままでは flavour とはいうものの Blosxom とは違い最初のパスを flavour としていたのを、Blosxom 互換な拡張子による方法に対応。

設定で、flavour, flavours_except が定義されていない場合この互換モードになるようにしておいた。

あと最初のパスを flavour にするモードの場合に、いままでは

flavours => [ 'html', 'rss', 'js', ]

などとして定義したものだけを flavour として扱うということをしていたけど、

flavours_except => [ 'about', 'login', ]

などと、特定のパス以外はすべて flavour として扱うオプションも追加。これではてなっぽいアプリが簡単に作れるかね。

あと、date_flavour 機能もつけた。

これは /2005/04/08 などのような日付っぽいURLにアクセスされた場合、$c->flavour->(year|month|day) に日付を格納し、その日付部分をパスから除く。

この機能はデフォルトONで date_flavour => 0 とすればOFFにできる。

一気に機能追加しすぎてドキュメント書くのがあれすぎる。

しかも日本語の説明でも上記みたいに意味不明になっちゃうのに英語だとどうなっちゃうんだ、という。

by typester / at 2006-04-08T18:19:00 / perl · catalyst / Comment

退社。

by typester / at 2006-04-07T23:48:00 / life / Comment

CPAN Ratings に返信とかは

どうやればいいんだろう。

Array-Diff reviews

に反応したいんだけど。

by typester / at 2006-04-07T18:34:00 / perl / Comment

WRONGSCALE 新譜

キター

WRONG SCALE - fate effects the surface

by typester / at 2006-04-07T11:21:00 / music / Comment

出社。

by typester / at 2006-04-07T11:03:00 / life / Comment

114 115 116 117 118 119 120 121 122 123

(Page 118 of 203)