6

プロジェクトの文書化に YARD を使用しています。で作成された YARD ドキュメント属性

attr_accessor :some_attribute

別のセクション「インスタンス属性の概要」にあります。今、私は別の属性を持っていますが、カスタムセッターとゲッターを持っています

def some_other_attribute
  # ...
end

def some_other_attribute= value
  # ...
end

基本的に私の質問は、前のケースと同じように、YARD にこのセッター/ゲッターのペアを文書化し、 「インスタンス属性の概要」内attr_accessorにリストする方法を教えてください。some_other_attribute

4

2 に答える 2

5

0.8 (現在プレリリース中) の時点で、@!attributeディレクティブは、オブジェクトが属性であることを示すための推奨される方法です。タグは、この@attr_*ディレクティブを支持して廃止されました。次のこともできます (0.8.0+):

# @!parse attr_accessor :some_attribute

必ずしも Ruby によって実行されるとは限らないコードを解析するため。0.8 より前では、attr_accessor を直接追加してから、次のようにセッター/ゲッターを再定義することができました。

class MyClass
  attr_accessor :foo
  def foo; something_else end
  def foo=(v) something_else(v) end
end

ruby -wメソッドの再定義について警告することを除いて、Ruby は気にする必要はありません。これが気になる場合はundef foo, foo=、そこに追加することもできます。少し面倒なので (-w が気になる場合)、 や などを追加したのはそのため@!parseです@!attribute

于 2012-04-27T06:52:36.040 に答える
1

クラスで @attr タグを使用できるはずです。

# @attr [String] name The name of this object. 
class MyClass
  def name
  end
  def name=
  end
end

他にも役立つタグ (@attr_reader や @attr_writer など) があります。

于 2011-10-06T02:59:36.353 に答える