2011-09-01 16 views
8

これが実際に可能かどうかはわかりませんが、私たちのapp/modelsファイルのスコープのドキュメントを追加することで、レールアプリケーションのドキュメントをより完成させようとしています。私は試してみてやって探していますは次のとおりです。モデルスコープのドキュメントをレールに追加する

# 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 

EDIT

私はこの質問は少し曖昧かもしれ実現します。ここでは明確にしようとしています:現在、scope宣言の上にコメント行を追加しようとすると、スコープのためにRDocによって生成されたドキュメントはありません。私はRDocがメタメソッド/属性を拾うことができることを知っています。それ以外の場合は、attr_accessorと宣言されたドキュメントに属性を表示しません。だから私の質問は、なるように、私は私のファイルにコメントを追加するにはどうすればよいです:それは公共のクラスメソッド(パブリックインスタンスメソッドなどではなく) として表示されますドキュメント

  • を生成する方法は、私のRDocに表示されます

  • +0

    になどのメタメソッドを文書化するための完全な構文を表示することができ、それはドキュメンタリーを追加することができない...」や「エラー追加するドキュメンタリー...」などがあります私は確信していません。試してもコメントは表示されませんか? rdocはそれを表示しますか?喜んで助けてください、ちょうど質問が何であるか正確には分かりません。 –

    +0

    @Michael Durrant - 良い点。 2回目の読書では、私の質問はあまりうまく語られていません。より明確にするために編集します。 –

    答えて

    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:行を使う必要もあります。ドキュメントは、次の行で通常通り続きます。

    あなたは正確に問題が何であるかRDoc Documentation

    1

    スコープはクラスメソッドなので、Rdocは正しく処理しています。私はそれがRdocが知っている限り動作していると言います。

    あなたはYARDのようにもっと拡張性のあるものを使ってコントロールする方がよいかもしれません。

    +0

    ロバートの提案に感謝します。 YARDがドキュメントを生成しているのを見たことがあります。 –

    関連する問題