9

これが実際に可能かどうかはわかりませんが、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。だから私の質問は、次のようにファイルにコメントを追加する方法です:

  • このメソッドは、RDoc で生成されたドキュメントに表示されます
  • パブリッククラスメソッドとして表示されます(パブリックインスタンスメソッドなどとは対照的に)
4

2 に答える 2

5

RDoc ドキュメントを掘り下げた後、自分の質問に答えることができたと思います。

次のようにスコープを文書化できます。

##
# :singleton-method:
# Documentation for the scope to explain what it does
scope :newest_records, order("created_at desc").limit(50)

ダブル ハッシュは、メタプログラムされたメソッドを取得するために使用されます。インスタンス メソッドを作成する場合は、それで十分です。ただし、スコープはクラスメソッドを作成するので、それを示すために :singleton-method: 行も使用する必要があります。ドキュメントは通常どおり次の行に続きます。

メタメソッドなどを文書化するための完全な構文は、RDoc ドキュメントで確認できます。

于 2011-09-02T11:34:34.217 に答える
1

スコープはクラス メソッドであるため、Rdoc は正しく機能しています。Rdocが知っている限り、それは機能していると思います。

YARD などのより拡張可能なものを使用すると、より適切に制御できる場合があります。

于 2011-09-02T04:18:26.153 に答える