library rdoc/generator

[edit]

要約

RDoc が解析したソースコードを RDoc::CodeObject のツリーからその他の形式に出力するためのサブライブラリです。

RDoc には HTML 向けのジェネレータの RDoc::Generator::Darkfish と ri 向けのジェネレータの RDoc::Generator::RI が付属しています。

ジェネレータの登録

RDoc::RDoc.add_generator を呼び出す事でジェネレータの登録が行えます。

class My::Awesome::Generator
  RDoc::RDoc.add_generator self
end

rdoc のオプションの追加

rdoc ではオプションの処理の前に RDoc::Options は各ジェネレータの #setup_options メソッドを実行します。ジェネレータは 第一引数で渡される RDoc::Options#option_parser に対して rdoc コマンドのオプションを追加できます。rdoc/options の例と OptionParser も併せて参照してください。

ジェネレータのインストール

ソースコードを解析した後は RDoc:RDoc オブジェクトはジェネレータのコンストラクタの引数に RDoc::Store オブジェクトと RDoc::Options オブジェクトを渡して初期化します。

RDoc::Store オブジェクトは解析したソースコードに関する情報を保持しています。RDoc 3 以前は RDoc::TopLevel オブジェクトがこの情報を保持しています。ジェネレータを RDoc 3 以前のものから更新する際には、RDoc::TopLevel を使って記述された処理を置き換える必要があります。

RDoc は出力を行う際にジェネレータの generate メソッドを呼び出します。RDoc::StoreRDoc::CodeObject のツリーのメソッドを使って要求される形式のフォーマットを出力してください。

モジュール

RDoc::Generator

RDoc が解析したソースコードを RDoc::CodeObject のツリーからその他の形式に出力するためのクラスです。

サブライブラリ

rdoc/generator/darkfish

HTML を生成するためのサブライブラリです。

rdoc/generator/json_index

他のジェネレータが生成する HTML で検索が行えるように、JSON の検索インデックスを生成するサブライブラリです。

rdoc/generator/markup

ライブラリ内部で使用します。

rdoc/generator/ri

ri のためのファイルを生成するためのサブライブラリです。