模块 RDoc::Generator

RDoc 使用生成器将解析后的源代码(以 RDoc::CodeObject 树的形式)转换为某种形式的输出。RDoc 自带 HTML 生成器 RDoc::Generator::Darkfish 和 ri 数据生成器 RDoc::Generator::RI

注册 Generator

通过调用 RDoc::RDoc.add_generator 并传入生成器的类来注册生成器

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

rdoc 添加 Options

rdoc 中处理选项之前,RDoc::Options 将使用 RDoc::Options 实例在生成器类上调用 ::setup_options。生成器可以使用 RDoc::Options#option_parserrdoc 工具添加命令行选项。有关示例,请参阅 RDoc::Options 中的自定义选项,有关如何添加选项的详细信息,请参阅 OptionParser。

您可以为您的生成器使用额外的访问器扩展 RDoc::Options 实例。

Generator 实例化

解析后,RDoc::RDoc 将通过使用 RDoc::Store 实例和 RDoc::Options 实例调用 initialize 来实例化生成器。

RDoc::Store 实例保存解析后的源代码的文档。在 RDoc 3 及更早版本中,RDoc::TopLevel 类保存此数据。在从 RDoc 3 及更早版本升级生成器时,您只需要将 RDoc::TopLevel 替换为存储实例即可。

RDoc 然后将在生成器实例上调用 generate。您可以使用 RDoc::StoreRDoc::CodeObject 树上的各种方法来创建所需的输出格式。