Ark::Plugin::Authentication::Store::Data::ModelとArk::Plugin::Authentication::Store::Data::Model::Fastを0.01_00に更新しました。APIをArk::Plugin::Authentication::Store::DBIx::Classに合わせたのが今回の修正点です。
先の記事で$infoの使いどころに悩んでいましたが、これは私が単純にDBIx::Class然り、Data::Model然り、それらのO/Rマッパーに類するクラスに明るくないからでした。
或るモデルクラスがあったとしたら、そこにfind_userというオレオレメソッドを仕込んでしまい、そのメソッドの引数として使うというのが、$infoの生きる道であるようです。プラグイン純正の処理ではなく、自分で仕込んだメソッドでユーザーを拾ってくれるという案配ですね。今回の場合、例えばMyApp::Schema::Table::Userという架空のユーザーモデルクラスがあったとしたら、そこにfind_userメソッドを仕込むという次第です。勿論、これまで通りプラグイン純正の処理でもユーザーを捜せます。
ということで、テストはそのままで、PODを怪しげな英語で若干追補しつつ、0.01_00としてgithubにpushしました。
http://github.com/gardejo/ark-perl/commit/28f98f308b293befe677e3fa3672038f29c9bead
......PODの誤りを訂正しました。うっかりぽん。
http://github.com/gardejo/ark-perl/commit/f9784728d2e8e6ba5f390b2d626897dd6fc00ce2
PODがちょっと回りくどすぎたかという思いと、Data::Modelの効率的な使い方が出来ているか確認したいという思いがあり、これらの懸念が解消出来たら、畏れ多くもfork元へのpull requestを差し上げようかと思っています。
あと、独立したプラグインであればともかく、pull request歓迎というポリシーに基づいて本家に取り込んでいただける可能性があるプラグインの場合、個別にバージョンなどを設けない方が良いのかどうなのか、Catalyst::Model辺りのCPANモジュールを拝見してみようと思います。
コメントする