2013年2月15日
今週のおーぷんそーす活動と、Dist::MakerのModule::Build対応とか
深夜のテンションで「おりゃっ」とpullreqを送りつける今日この頃、皆様いかがお過ごしでしょうか。
そんな雑なpullreqに対応してくださってる皆様、本当にありがとうございます。
てことで、今週のpullreq活動。
Dist::Maker
愛用させてもらっているモジュール雛形作成ツール。
Module::Build対応とModule::Buildを使った雛形DefaultMBをpullreqして0.07でshipit してもらいました。
以下のようにすればM::B形式で簡単にモジュールが作成できます。簡単ですね!
% cpanm Dist::Maker
# 設定。設定ファイルの位置は ~/.dim/config
% dim config --import-from-gitconfig
% dim config template.default DefaultMB
# 雛形作成
% dim init My::Module
% cd My-Module
# モジュール書いた後のCPAN Upload処理
% perl Build.pl
% ./Build distmeta
% ./Build manifest
% shipit
これでアナタもシーパン王サー!
これだと最低限ですが、Dist::Makerの雛形書くのは簡単なんで、 Dist::Maker::Template::* を見ながら、自分用にカスタマイズしたの用意すると良いかと。
M::Bの説明書くのめんどくなってきたんで、これでM::B使えますよってことで一つ。
Time::Piece::Plus
Time::Pieceを継承してDateTimeライクなインターフェースを追加した日付モジュール。
結構便利なんじゃないかと思うんですが、あまり使われている気配がなくて不思議な感じがしています。皆様日付処理どうしているのでしょうか。わたし、気になります。
これのadd/subtractメソッドにDateTime的なインターフェースを加えてpullreqして取り込んでもらいました。以下の様な感じ。
my $time_pp = Time::Piece::Plus->localtime;
$time_pp = $time_pp->add(days => 7);
DateTimeと違うのは破壊的じゃないところですね。
これでDateTimeで僕が使ってる機能は大体Time::Piece::Plusに揃ったので、大手を振って以降予定。
両方共俺得でしか無いフィーチャーですが、勇気を出してエイヤッとpullreqした次第。
gfxさん、takuji31さん、ありがとうございました。
DBIx::Schema::DSLも「俺得でしか無いんだよなー」とか言っていたら@typesterに「俺得でも全然良いから出しなよ」とか言われてかなり勇気をもらったりしました。
そういや、Parse::Crontabも俺得でしかないと思っていたけど、機能要望が届いていたりしてありがたい話だなーとか思いました。俺得は誰かの得にもなる、…かも知れない。
おれとくでもいいじゃない、にんげんだもの。