CGI::ApplicationでTropy
Tropyが面白い。しかも勉強用にちょうどいいサイズ。
クローンがいくつか既にあるけど、ハテナオヤさんがCatalystでつくったので、CGI::Applicationでもやってみた。
http://nomadscafe.jp/caropy/caropy.cgi
ネーミングセンスないけど、CGI::Application::TropyなのでCaropyとしてみた。
ソースはこちらから見れます。
依存するモジュールは以下です。
- CGI::Application::Plugin::TT
- CGI::Application::Plugin::FormValidator::Simple
- CGI::Application::Plugin::Redirect
- Class::DBI::Sweet
Primaryキーの生成にはData::UUIDを使用してます。Class::DBI::Sweetでは
__PACKAGE__->sequence('uuid');
とするだけで、B2D6F920-4E96-11DA-B910-F626E881DC08
のようなIDを生成してくれます。
それとClass::DBI::mysqlの機能のretrieve_randomが欲しかったので、
__PACKAGE__->add_constructor(_retrieve_random => '1 ORDER BY RAND() LIMIT 1'); sub retrieve_random { shift->_retrieve_random->first }
これをコピーして使いました。