我正在使用 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/