Yuanying です。おはようございます。
On 2008/10/25, at 19:34, wtnabe wrote:
> wtnabeです。
> 初歩的な質問ですいません。実行中の plugin の中で他の
> plugin を呼び出
> すにはどうしたらよいのでしょうか?
> pragger では eval_pragger() 一発でしたが、Yapra
> では似たような書き方
> をして他の plugin を呼び出している部分を見つけられま
> せんでした。
> pipeline の中に execute_plugin があるのは分かるんです
> が、pipeline て何?
> という感じでして。
Yapra::Pipeline というのは Python Habu ライクな設定ファ
イルをサポートするために追加したクラスで、
まあようするに一つの設定ファイルを実行する単位です。
上位に Yapra::Runtime とかいうクラスがあるのですが、
これは Pipeline を複数保持して、設定ファイルを複数管理
するクラスみたいな感じです。
ですので、プラグインを eval_pragger() みたいな感じで実
行するには、
Yapra::Pipeleine#execute_plugin を呼び出せばおkです。
Yapra::Pipeline のインスタンスは、
プラグインクラスに pipeline= というメソッドが定義されて
いれば取得できます。
(Yapra::Pipeline 123行目)
プラグインがYapra::Plugin::Base クラスを継承していれば、
プラグイン中で、 pipeline.execute_plugin() で呼び出せる
と思います。