ruby - YARD:记录自定义 getter/setter 对,如 attr_accessor

标签 ruby documentation yard

我正在使用 YARD 来记录我的项目。使用

创建的 YARD 文档属性
attr_accessor :some_attribute

在单独的部分“实例属性摘要”中。现在我有了另一个属性,但是有自定义的 setter 和 getter

def some_other_attribute
  # ...
end

def some_other_attribute= value
  # ...
end

所以基本上我的问题是,我怎样才能让 YARD 记录这对 setter/getter,就像之前案例中的 attr_accessor 一样,并在“Instance”中列出 some_other_attribute属性汇总”?

最佳答案

从 0.8 开始(目前处于预发布阶段),@!attribute 指令是表示对象是属性的推荐方式。 @attr_* 标签已弃用,取而代之的是该指令。您也可以这样做(在 0.8.0+ 中):

# @!parse attr_accessor :some_attribute

解析不一定由 Ruby 执行的代码。在 0.8 之前,您可以直接添加 attr_accessor,然后重新定义 setter/getter,如下所示:

class MyClass
  attr_accessor :foo
  def foo; something_else end
  def foo=(v) something_else(v) end
end

Ruby 应该不会介意,除了在 ruby -w 中它会警告方法重定义。如果这让您感到厌烦,您也可以在其中添加 undef foo, foo=。它有点乱(如果您关心 -w),这就是我们添加 @!parse@!attribute 之类内容的原因。

关于ruby - YARD:记录自定义 getter/setter 对,如 attr_accessor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7583166/

相关文章:

mysql - 使用 ruby​​ 1.8.7 Mac OSX 10.6 安装 mysql2 gem

R 包文档 (roxygen2) - 示例部分 - 执行示例

grails - Grails:Grails Doc的替代品?

ruby - YARD不把 `code`替换成<code>code</code>正常吗?

ruby-on-rails - 用于链接到命名空间中的模型的 yardoc 语法是什么?

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

mysql - 生成唯一的跟踪号

Ruby:从数组/字符串匹配数据中收集索引

ruby-on-rails - Railscast 中的建筑测量 Rails 5

python - 如何正确记录类的静态变量?