为什么ActiveRecord :: Base中定义的all方法未在文档中列出?

时间:2011-12-18 22:15:39

标签: ruby-on-rails

为什么all中定义的ActiveRecord::Base方法未在documentation中列出?

我知道它是在这里定义的,因为我运行了Post.method(:all).source_location并得到了这个输出:

["/Users/space/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.3/lib/active_record/base.rb",
 440]

2 个答案:

答案 0 :(得分:3)

因为它是由delegate“宏”定义的,文档生成器不知道delegate调用会产生定义all方法的副作用。

旁注: YARD (Yay! A Ruby Documentation Tool)是可编程的,可以轻松扩展以推断出这一点(如果还没有)。

答案 1 :(得分:2)

因为他们被委派了。看看第441行。文档处理器不执行代码,因此无法很好地处理元编程。