

Railsのプロジェクトで `ActiveSupport::Concern#included`
内のコードのドキュメントを書こうとすると、YARD側がコメントを認識してくれず、ドキュメントの生成が行えません。

例えば下記のようなコードです。

[code]

    module Product::Scopes
      extend ActiveSupport::Concern
    
      included do
    
        # @!method odd
        #   奇数のid の商品を返す
        #   @!scope class
        scope :odd, -> { where('products.id%2=1') }
      end
    end
    
[/code]

上記のコードで、YARD を実行すると `#odd` は一切認識されず、白紙のページが表示されてしまいます。

色々試してみましたが、上手な回避方法が見当たりませんでした。#included
外に書けばなんとか出来ますが、それではそもそもソースコード内にドキュメントを書いている意味があまりなくなってしまいます。

何かいい感じの回避策などがありましたら、ご教授下さい。よろしくお願いします。


CC BY-SA 3.0
2015-05-20T07:19:55.223
10415
2015-10-30T20:30:43.150
973
question
ruby-on-rails ruby
YARD - ActiveSupport::Concern#included 内の YARD ドキュメントの書き方


I'm sorry if I am not allowed to post here as I do not speak Japanese, but
this question is one of the first results to the search "ruby yard
activesupport concern". As I needed a solution for the same problem as @Hazi,
I figured it would make sense to post the one I have finally developed myself:

<https://github.com/digitalcuisine/yard-activesupport-concern>

This YARD plugin adds support for ActiveSupport::Concern modules by
instructing YARD to parse blocks given to `included` and `class_methods`
calls.


CC BY-SA 3.0
2015-06-02T15:38:17.913
10909
2015-06-02T15:38:17.913
9969
10415
answer