Yet Another Pragger
Pragger を使っていてどうしても機能を拡張したいところがたくさん出てきたんだけど、 それを全部本家の人に要求するのもどうかと思った。
多くのソフトウェアの場合、最初はシンプルなんだけどどんどん周りの人の要求に応えているうちに複雑怪奇化し、 陳腐化し、そして誰も使わなくなるっていう道を辿ることはよくある。
Pragger のコアはシンプルであって欲しいので Yet another な Pragger 実装を作ってみることにした。
こっちはもう、シンプルにしようなんて考えず、欲望の限りw
なんつうか、 Plagger -> Pragger -> Yet another Pragger って、、もうね。。。
方針
自分の欲しい機能はどんどん取り込むけど、Pragger互換であること。
修正点
- Class-based なプラグイン
- コアに logger を取り込む
- プラグインの検索/読み込みはロードパスベース
- Plugin クラスを Yapra という名前空間に
- Python habu ライクな設定ファイルのサポート
使い方
pragger として動きます。設定ファイルとかもそのままで。プラグインも互換あります。
たぶん。
ダウンロード
svn co http://www.fraction.jp/repos/yapra/trunk/ yapra
バグとか
たぶん私以外使うこと無いと思うけど。 バグとかみつけたらチケットきってください。
ライセンス
BSD修正ライセンス
Yuanying at 13時59分53秒 | Comments (7)
Comments
wtnabe at 2008-06-12 16:26
Yuanying at 2008-06-12 16:53
ちなみにプラグインの読み込みはロードパスからモジュール実行時に行うように修正したので「必要な plugin だけを読み込む」ようになってると思います。
また、プラグイン自体もexecuteメソッドを持つ単なるRubyのオブジェクトだったらなんでもいいのでテストも簡単だと思います。書いてないけど…。
wtnabe at 2008-06-14 09:47
Yuanying at 2008-06-14 14:24
どうも本家の人と話してみた感じ、
最初に全部読み込むのが仕様らしいのです。
そしてこれから最初に全部読み込むのを前提としたプラグインが追加される予定らしいので、
互換性のために最初に全部読み込むように修正してしまいました…。
軌道オプションで読み込み方法を変更できるようにしてみようかな。
Yuanying at 2008-06-14 21:19
これは実行時に -m オプションを渡すことによって、
ruby yapre/pragger.rb -m advance
legacy_plugin の方も利用時にのみロードされるようになります。
wtnabe at 2008-06-15 07:51
Yuanying at 2008-06-15 22:55
とりあえずやっておきたい拡張や修正はひとまず終わったので、もう少し軽くなるように修正していこうかな…。