Cache::Funky in Catalyst

http://d.hatena.ne.jp/kopug/20070527/1180270363

ウーン。こんな感じはどうなんだろう。以下脳内プログラミングで動かんけど。

Package MyApp::Web::M::Cache;

use strict;
use base 'Catalyst::Model::CacheFunky::Loader';


__PACKAGE__->config(
    dbic_schema => \&schema(),
    setup_args => { 'Storage::Simple' => {} }

);

1;

package MyApp::CacheFunky::Foo;

use base qw/Cache::Funky/;

sub setup {
    my $self = shift;
    $self->register(
                    'foo',
                    sub {
                        $self->dbic_schema->resultset('Bookmarks')
                               ->search({});
                    }
                );
}

1;

package MyApp::Web::C::B;

sub hoge:Local {
    my ( $s, $c ) = @_;

    $c->model('CacheFunky::Foo')->foo;
}

1;

あと、

sub {
    $schema->resultset('Bookmarks')->search({});
}

これは、オブジェクトを返すけどそれをそのままキャッシュでいいのかなぁ。ウーン。