Mojoliciousのプラグイン作成コマンドを使ってみた
Mojoliciousで開発をしていて、既存のプラグインを使ったり、新規に自分で作ったりすると思いますが
そんな自分で作ったプラグインの中には「CPANにあげたい!」と思うものも出てくるんじゃないでしょうか。
僕は今回、Webサイトの他言語対応(国旗の画像をポチると、表示される言語が切り替わる)をするために、
簡潔に日本語や英語の文言を管理できて、
Mojolicious上のアクションやらテンプレートやらで使えたら良いなー
と思って、簡単なプラグインを作ってみました。
モジュールはgithubにあげました
(githubも初心者なので、いろいろ分からないなりに。。。)
今回はコマンドを使って、モジュールにするところが本題なので
モジュールの中身について説明はありません。
なにやらMojolicious::Plugin::I18Nというのもあるようなのですが、
自分が使いやすいのを作っちゃえ的なノリです。
というわけで、適当なディレクトリでコマンドの実行です。
末尾部分がモジュール名になります。
僕が今回作りたかったのはMojolicious::Plugin::Message::Localeという物なので、こんな感じです。
shell> mojo generate plugin Message::Locale
するとコマンドを実行したとこにMessage::Localeディレクトリが作成され、
その下に一通りのファイルが作成されます。
Message::Locale/lib/Mojolicious/Plugin/Message/Locale.pm Message::Locale/t/basic.t Message::Locale/Makefile.PL
Locale.pm
これはもちろんプラグイン本体です。
basic.t
テストモジュールのひな形になります。
Makefile.PL
このモジュールをインストールするために必要になります。
Makefileとか書いた事ないから、これは嬉しかった!
んで、モジュールの本体を書きます。(既に作ってるプラグインの中身をこちらに)
perldocを書き、テストを書く
それが出来たらインストールしてみる。
shell> perl Makefile.PL Writing Makefile for Mojolicious::Plugin::Message::Locale Writing MYMETA.yml and MYMETA.json shell> make cp lib/Mojolicious/Plugin/Message/Locale.pm blib/lib/Mojolicious/Plugin/Message/Locale.pm Manifying blib/man3/Mojolicious::Plugin::Message::Locale.3pm shell> make test PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/basic.t .. ok All tests successful. Files=1, Tests=3, 1 wallclock secs ( 0.04 usr 0.01 sys + 0.51 cusr 0.05 csys = 0.61 CPU) Result: PASS shell> make install Installing /opt/local/lib/perl5/site_perl/5.12.3/Mojolicious/Plugin/Message/Locale.pm Installing /opt/local/share/man/man3/Mojolicious::Plugin::Message::Locale.3pm Appending installation info to /opt/local/lib/perl5/5.12.3/darwin-multi-2level/perllocal.pod
完成!!
ここまで出来れば、CPANでインストールしたモジュールのように利用する事が出来ます。
次はこの手順で作成したモジュールをCPANに上げてみたいと思います。
どうだろうなー できるのかなー
やったことないからどうなる事やら