我有一个使用 Forwardable 中的 def_delegators
方法的类模块。我还没有找到获取 Yardoc 的方法为其输出文档。我试过使用 macro但它不会为这些特定方法输出任何内容(文件中的其他一切都很好,并且没有错误),而且我有几个不同长度的 def_delegators
。
例如
class A
extend Forwardable
# other code…
# @!macro
# @see Array#$1
# @see Array#$2
# @see Array#$3
def_delegators :@xs, :size, :<<, :blah # …
是否有 gem 或方法可以避免尝试编写 Yard 扩展?
最佳答案
经过更多的实验,我发现这很有效:
# @!method size
# @see Array#size
# @!method <<
# @see Array#<<
# @!method blah
# @see Array#blah
def_delegators :@xs, :size, :<<, :blah # …
很可能有一种方法可以在一两行中完成此操作,但与编写扩展的工作相比,我觉得这是可以接受的。
更新:
我刚刚发现这会更好地链接到委托(delegate)方法的文档:
# @!method size
# @return (see Array#size)
这将从 Array#size 方法获取已记录的返回值。我希望其他标签也会这样做。它仍然很冗长,但可以接受。
关于ruby - 用 Yardoc 记录 def_delegators,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891284/