ruby - 用 Yardoc 记录 def_delegators

标签 ruby documentation yard

我有一个使用 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/

相关文章:

ruby - 遍历一个目录中的每个文件

ruby-on-rails - 将 ruby​​ 中的日期转换为自定义格式

java - 从 Java 自动生成 Swagger 文档

ruby - yard 生成 markdown 文件而不是 html?

ruby - 如何使用 Ruby DBI 的 'select_all' 与 'execute-fetch/each-finish'

ruby - 在 Ruby 中对 %x 使用/bin/bash

ruby - 使用 rdoc3 安装标准 Ruby 类文档

java - 为编译类生成html文档

ruby - Yard:为编译后的文档指定不同的路径(而不是 doc/)?