【发布时间】:2013-09-30 09:58:35
【问题描述】:
我使用 YARD 记录了一些 Ruby 代码,但在获取 YARD 时遇到了问题 我为顶级名称空间中的一些方法创建的文档显示在 yardoc 的 HTML 输出。
我的文档看起来与 YARD gem 自己的文档基本相同
lib/yard/globals.rb,添加了@api 标签。我确实尝试删除它,
并在没有--api 参数的情况下运行yardoc,但这无济于事。
这是一个例子:
#!/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 不包含我的任何文档。全部
contains 是带有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]
【问题讨论】:
-
而不是链接您的代码,您能否粘贴足够的问题来复制您面临的问题?它会改善问题,并在您修复项目代码后保持相关性。作为副作用,您可以拥有第二个链接。
-
对,我应该想到的(固定)。谢谢!
-
我复制了你的例子,发现
yardoc -o pip-negotiate **/*.rb产生了一些看起来正确的东西。添加--api或--api pip-negotiate似乎又打破了它,但我还不明白或解释为什么。yard 0.8.7.2 -
请阅读“How to Ask”。理解问题所需的信息需要在问题本身中。指向输出的链接可能会腐烂和断开,从而使其他试图提供帮助的人或将来寻求类似解决方案的人难以理解。