我正在使用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"
默认情况下,YARD将生成Foo类的文档,如下所示:
我认为此文档不足,因为它不会告诉用户Foo.hello
方法可用。要了解hello
,用户必须点击Moo
,然后点击ClassMethods
。
在一个页面上列出Foo
的所有类和实例方法会很棒。我怎么能做到这一点?我是否需要更改代码,或者是否有可添加的标记,以便为YARD提供有关ClassMethods
的提示?
答案 0 :(得分:7)
从v0.8.0开始,您可以使用@!parse指令:
class Foo
include Moo
# @!parse extend Moo::ClassMethods
end