Catalyst::Plugin::Session::Store::DBICで期限切れセッション消そう

Catalyst::Plugin::Session::Store::DBICはDBにセッション保存してくれる。
何もせんと、期限切れのセッション情報がいつまでも残るので、消す処理を書いてみた。

my $today = DateTime->now(time_zone => $tz)->epoch;
$c->model('DBIC::Session')->search(
    {
        'expires' => { '<' => $today},
    },
)->delete;

神「モジュールにdelete_expired_sessionsってあるからそれ使ったほうがいいよ」


というわけでPOD見ると。
delete_expired_sessions
Delete all expired sessions.

コードを見ると。

sub delete_expired_sessions {
    my $c = shift;

    $c->session_store_model->search({
        $c->session_store_dbic_expires_field => { '<', time() },
    })->delete;
}

…全く同じですね。
モジュール使うならせめてPODくらい見てからにしよう俺、な!