独自row拡張の拡張

http://d.hatena.ne.jp/magicalhat/20100118/1263745674

こちらでto_jsonのメソッドを生やすのに大変な思いをさせてしまいましたが、
先程独自Rowをもう少し拡張しやすいバージョンをgithubにpushしました。

http://github.com/nekokak/p5-dbix-skinny/commit/2bd156a7d4c08cb621197105c3652151e86675d5

これのサンプルが

http://github.com/nekokak/p5-dbix-skinny-sample/commit/1123d7b92bfcb28e8afda7cf3dbc030854202050

こちらになります。

簡単に解説すると、

Demo::DBがSkinnyを利用するクラスとすると
Demo::DB::Rowというクラスを定義してここにto_jsonメソッドを用意してあげます。
するとSkinnyでは内部でDemo::DB::RowをベースのRowクラスに利用するので、
to_jsonメソッドが利用できるようになっています。

また、
http://d.hatena.ne.jp/magicalhat/20100119/1263870619
こちらではイテレータにto_jsonメソッドをはやしていますが、
こういうのはRow側でto_jsonできるメソッドがあれば
あとは使う側でmapするだけですね。

my $itr = $db->search('user');
my @json = map { $_->to_json } $itr->all;

なので、無理にイテレータにメソッド生やす必要はないと思いますです。