質問

次のように、ルビーで多数のメソッドを生成するためにメタプログラミングを使用しています:

class EmotionalObject
  def self.mood( name, *details )
    define_method(name) do
      # ...
    end
  end

  mood :happy, #...
  mood :sad, #...
  mood :ebuillent, #...
  #...
 end

rdoc '-A mood'を渡して自分の気分を認識できることを知っています 属性としての生成コード。これは少なくともその後は便利です。 認識されます。

ただし、これらは実際には属性というよりは通常のメソッドに近いため、 見たときに「属性:」セクションの下にリストされたくない ri を使用したドキュメントで。通常の属性はありませんが、 このセクションのタイトルを「気分」に変更する簡単な方法はありますか? またはそのようなものなので、ユーザーは少なくとも ri EmotionalObject#happy と入力するのに十分な好奇心を持っています。

役に立ちましたか?

解決

RDocテンプレートにハードコーディングされていますが、デフォルトの「html」を複製することで、使用する新しいテンプレートを作成できます。テンプレートを作成し、見出し名を手動で変更します。

ここでRDocテンプレートのソースを参照: http://github.com/juretta/ruby/blob/master/lib/rdoc/generator/html/html.html#L601

他のヒント

rdoc 2.4.1のどこかで-accessor を削除し、各メタメソッドで ## コメントを使用して置き換えたようです。これにより、属性セクションからそれらを取得できますが、それぞれを個別にコメントすることも強制されます。

http://rdoc.rubyforge.org/RDoc/Parser/Ruby.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top