どうもこれまずい気がしてきた。

  1. 現在(Rev 100)の構造では plugin の中で依存している plugin を動的に読み込むことができない
  2. したがって先に YAML をパースして、利用する plugin だけ読み込んで動作を軽くすることはできない
  3. つまり今後も重くなる一方

うーん。ちらちら plagger も読んでるんだけど、こっちはやっぱきれいにできてんだよなぁ。もったいない。せっかく pragger は依存モジュール地獄に落ちずに済んだのに。

あ。Plugin クラスの load_plugins() をバラせばいいのかな?

def load_plugins()
  ファイルをリストアップしてぐるぐる do |file|
    register( file )
  end
end

def register( file )
  $plugins[ごにょ] = Plugin.new( file )
end

みたいな感じか? あ、register で与える file はフルパスじゃなくて plugin ディレクトリ以下じゃないと不便だね。


またドキュメントのためにコードを丸ごと文字列で持つのは RD とか RDoc をうまく使えば避けられるんじゃないかと思ったけど、よく分かんないorz Perl なら Pod 関係のパッケージですぐできるんだけど、Ruby ではやり方が分からない。いやビックリ。まさかオレ Perl の方が得意なんじゃね? まぁ全部文字列で持つとしても、少なくとも個々の plugin を選択的に読み込む機能がつけばだいぶ違うような気がする。うむうむ。やっぱまずそこか?

More