我正在使用
YARD为我的ruby宝石编写文档.在我的宝石中,我有一些代码遵循这个常见的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的提示?
解决方法
由于v0.8.0可以使用
@!parse指令:
class Foo include Moo # @!parse extend Moo::ClassMethods end