ActiveRecord :: Baseで定義されているすべてのメソッドがドキュメントに記載されていないのはなぜですか?

ActiveRecord :: Base に定義されている all メソッドがドキュメントを参照してください。

私は 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]
0
面白いことに、 default_scope の説明を入力します。
追加された 著者 sarnold,

2 答え

これは delegate "マクロ"で定義されているため、ドキュメンテーションジェネレータは delegate の呼び出しが all >メソッド。

Sidenote: YARD (Yay! A ruby Documentation Tool) is programmable and could easily be extended to deduce this (if it doesn't already).

3
追加された
そのファイルの440行目を見てください:class << self#クラスメソッド441 delegate :find、:first、:first , last、:last!、:all 、:存在する?、:任意の?、:多数?、:to =>:スコープ付き
追加された 著者 daniel,
あなた自身の質問で言及したソースコード行を見てください。それは言う: delegate ...:all、...
追加された 著者 qerub,
デリゲートマクロによって定義されていることを確認するにはどうすればよいですか?
追加された 著者 lampShade,

彼らは委任されているからです。ライン#441を見てください。ドキュメントプロセッサはコードを実行しないため、メタプログラミングをうまく処理できません。

2
追加された