我使用 YARD 记录了一些 Ruby 代码,但我无法将我为顶级名称空间中的某些方法创建的 YARD 文档显示在 yardoc 的 HTML 输出中。
我的文档看起来与 lib/yard/globals.rb 中的 YARD gem 自己的文档基本相同,只是添加了一个@api
标签。我确实尝试删除它,并在yardoc
没有--api
参数的情况下运行,但这无济于事。
这是一个例子:
#!/usr/bin/ruby
# @group PIP Negotiation: Backend and helper methods
#
# Deserializes a topology graph in YAML format into the database.
#
# @api pip-negotiate
# @param [String] graph A FleRD graph in YAML format
# @return [Boolean] status True if graph was deserialized successfully, False otherwise.
# @return [Integer] gl_id The database ID of the deserialized GraphLabel (nil if deserialization failed).
# @return [Array] output Standard output channel of flerd-deserialize.rb(1)
# @return [Array] output Standard error channel of flerd-deserialize.rb(1)
def insert_graph(graph)
return [ true, 1, ["1"], [""] ] # Not the actual method body.
end
# @endgroup
当我运行yardoc
生成 HTML 文档时,起初一切看起来都很好:
% yardoc -o pip-negotiate --api pip-negotiate '**/*.rb'
Files: 1
Modules: 0 ( 0 undocumented)
Classes: 0 ( 0 undocumented)
Constants: 0 ( 0 undocumented)
Methods: 1 ( 0 undocumented)
100.00% documented
%
生成的 HTML 不包含我的任何文档。它只包含一个带有pip-negotiate
API 标签的方法列表。您可以在这里亲自查看:
http://btw23.de/tmp/pip-negotiate/api/method_list.html
相反,我期望的是更像 YARD 自己的关于顶级方法的文档:
http://rubydoc.info/gems/yard/toplevel
我的祈求中是否缺少任何特殊的魔法yardoc
?
我的 yardoc 版本是 0.8.6.2,运行在 Ruby 1.8.7 (2012-06-29 patchlevel 370) [x86_64-linux]