Dav*_*son 10 ruby module class-method yard
我正在使用YARD为我的ruby gem编写文档.在我的gem中,我有一些代码遵循这个常见的ruby模式,其中一个模块包含在一个类中,该模块不仅添加了实例方法,还添加了类方法:
module Moo
def self.included(klass)
klass.extend ClassMethods
end
module ClassMethods
def hello
puts "hello"
end
end
end
class Foo
include Moo
end
Foo.hello # => class method runs, printing "hello"
Run Code Online (Sandbox Code Playgroud)
默认情况下,YARD将生成Foo类的文档,如下所示:

我认为这个文档是不合适的,因为它没有告诉用户该Foo.hello方法是可用的.要了解hello,用户必须单击Moo,然后单击ClassMethods.
Foo在一个页面上拥有所有类和实例方法的列表会很棒.我怎么能做到这一点?我是否需要更改代码,或者是否有我可以添加的标签给YARD一个提示ClassMethods?
从v0.8.0开始,你可以使用@!parse指令:
class Foo
include Moo
# @!parse extend Moo::ClassMethods
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |