如何使用 Yard 记录继承的构造函数

How to document an inherited constructor using Yard

有类,例如:

class Foo
  def initialize(data)
  end
end

class Bar < Foo
end

Foo 继承的每个子类都有自己独特的属性,通过 data 选项哈希传入。

Bar 的码输出状态:

Constructor Details
This class inherits a constructor from Foo

我一直无法弄清楚如何记录 Bar#initialize 的选项。

尝试包括:

class Bar < Foo
  # @overload initialize(data)
  #   @param data [Hash]
  #   @option data [String] :baz Value for baz attribute
end

(什么都不做)

class Bar < Foo
  # @param data [Hash]
  # @option data [String] :baz Value for baz attribute
  # @!parse def initialize(data); end
end

(创建一个未记录的构造函数,“查看源代码”显示假方法)

class Bar < Foo
  # @!parse
  #   @param data [Hash]
  #   @option data [String] :baz Baz attr
  #   def initialize(data); end
end

(什么都不做,结果和上面的@overload一样)

如何使用 YARD 记录 sub类 的选项?

尝试将它与院子一起使用。和 ruby 版本 2.6

class Foo
  def initialize(data)
  end
end

class Bar < Foo
  # @overload initialize(data)
  # @param [String] data list
  # def initialize()
  # end
end

并检查生成的 class_list.html 文件。

在 Linux 发行版上对其进行了测试。


如果有任何其他技术问题,或者您需要自定义 Ruby 文档解决方案作为临时措施。