我不确定这是否真的可行,但我试图通过在app/models
文件中添加范围的文档来使我们的rails应用程序的文档更完整。我想要尝试做的是:
# This is a description of what the scope does and the action that it performs
scope :newest_records, order("created_at desc").limit(50)
然后当我在应用程序上运行rdoc时,想要将newest_records
列为公共类方法以及更传统的方法,这些方法将记录如下:
# some more documentation about this method
def self.a_class method
....
end
修改
我意识到这个问题可能有点含糊不清。所以这里是一个澄清的尝试:目前,当我尝试在scope
声明之上添加注释行时,我得不到RDoc为该范围生成的文档。我知道RDoc可以获取元方法/属性,否则它不会在使用attr_accessor
声明的文档中显示属性。所以我的问题是如何在我的文件中添加注释,以便:
答案 0 :(得分:5)
在RDoc Docs中进行了一些挖掘后,我想我已经设法回答了我自己的问题。
您可以按如下方式记录范围:
##
# :singleton-method:
# Documentation for the scope to explain what it does
scope :newest_records, order("created_at desc").limit(50)
双重哈希用于获取元编程方法,如果您正在创建实例方法,那么这就是您所需要的。但是,当作用域创建一个类方法时,您还需要使用:singleton-method:行来表示。在以下行中记录正常继续。
中查看记录元方法等的完整语法答案 1 :(得分:1)
范围是类方法,因此Rdoc正确地执行它。我会说,就像Rdoc所知道的那样。
您可以更好地控制使用像YARD这样更具扩展性的东西。