プラグインの仕様と追加したい機能

ざっと仕様を。

  • プラグイン用のディレクトリにファイルをおく
  • Rire からコールするメソッドを、一ファイルにつき一つ定義する
  • メソッド名とプラグインのファイル名は一致させるように
  • DSL からは、アルファベット小文字で
  • プラグインの引数は 3 つ。コンテキスト、設定値とブロック。
  • 引数それぞれの型は、Rire::Context、Hash、Proc
  • Rire::Context は Hash を継承したもので、ほぼ同じ


と、まぁこんな感じかな。
そして、プラグインに関して追加したい機能なんかは以下のとおり。
まだ詳細を固めたものではなく、ぼんやりこんな機能があったらいいかも、
という感じで書いています。

  • 設定値のバリデーションチェックがほしい?
  • プラグインの説明や必要な設定値などのドキュメント。rdoc?
  • 雛形ファイルの自動作成
  • 他ライブラリの依存関係を記述して、自動で解決できたらいいかも
  • テストしやすい仕組み。assertion クラスを実装? assertion プラグインruby 実装の 'test/unit' を使う?