Perl: 2005年12月アーカイブ

O-AAの開発が割りと加速してきた風なので、標題のようなことを考え付いていろいろ調べてみたところ、SVN::Logというモジュールを発見。
...が、ソースを読んでみるとまだまだって感じ。SWIGでAPI叩く方法とsvnコマンドラインをopenしてパイプ(!)する方法から選べる実装なんだけど、SWIGでは「特定のリポジトリに関する最新のリビジョン番号を取得する」方法がない(subversionのAPIにはあるけどモジュールで対応してない)し、コマンドラインだとなぜか引数が固定(!)になってて「こっからここまでのりビジョンを取得」しかできない上に、存在しない番号を与えるとこける...。これじゃあ「特定のリポジトリのtrunkに関するログをとりあえず全部取得」とかできないじゃん。
# でもまぁつい先日バージョンアップしたみたいだし、今後に期待ってところですな

というわけで仕方なく自力(かつ力技)でゴリゴリと。
長いのでいったん区切り。以下読みたい人だけどうぞ。

ちまちまと修正。リポジトリPAUSEにもUP済み。
今回はバグ修正です。なんと、せっかく

  $obj->param(foo => $obj->renew);

とかやっても、あとで

  $obj->foo->param(bar => 'baz');

とかできないことが発覚(汗
もうひとつ、param() を1組のキーと値だけで setter メソッドとして用いたとき、即 getter の役目もするように修正 (また get するの面倒だしね)

こういった割と厄介な不具合があっても、テストさえちゃんと書いとけば、修正によるエンバグの心配とかしなくて良くなるってのは精神衛生上すごいイイっすね。w
年末はこの調子でサクサク行きたいところ。実はこのモジュール (略して 'O-AA') は Abyss の足回りとして採用する予定なので、いま水面下でいろいろ準備中だったりします。
今回の不具合もその過程で見つけたんだけど(汗

標題のブツを例のごとくリポジトリにUP。PAUSEにもUPしたのでおいおいCPANに反映されていくと思います。
変更点はほとんどないけど、new()とrenew()がどんなパラメータも受け取るように変更。0.01では%default_optionsにあるキーしか受け付けなくて他は捨てるので、継承して使うときに非常に使い勝手が悪かったw
ひょっとしたら改悪かもしれませんが、ぜーんぜん知名度ないので、テスターも居ないに等しい…
だれかrenew()周りのテストしてくれないかなー。
ついでに「t/04_renew.t」書いてくれるとすごく喜びます。
いや、喜ぶだけですが。(ぉぃ

2009年11月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

ウェブページ

Profile

name: Michiya Honda
nick: PIA
birth: 21-Nov-1975
e-mail: pia at this domain
SNS: mixi, nowa
起業・独立サポート「katana」

このアーカイブについて

このページには、2005年12月以降に書かれたブログ記事のうちPerlカテゴリに属しているものが含まれています。

前のアーカイブはPerl: 2005年9月です。

次のアーカイブはPerl: 2006年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1