kachick / times_kachick

`#times_kachick channel in chat` as a public repository. Personal Note and TODOs
https://github.com/kachick/times_kachick/issues?q=is%3Aissue+is%3Aclosed
6 stars 0 forks source link

2022-06-18 - steep(rbs) の `@dynamic` annotation が YARD で unknonw tag 判定されるのを回避する #166

Closed kachick closed 2 years ago

kachick commented 2 years ago

@type annotationは書く場所が殆どメソッド内だからなのか、この問題起きたことなかったんで油断してた。YARD の tag も steep の annotation も @ 始まりなので、根っこの部分で衝突するっぽい。 まだ steep の annotation はそんなに無いみたいだけど、 alias_method とか attr_* みたいなマクロっぽいメソッドで定義された物を認識させる際には @dynamic という annotation が必要っぽい。 で、これが YARD(0.9.28) に掛けると warning を吐く。自分は大体 --fail-on-warning を YARD 起動時に付けてるのでCIまで落ちてしまった

[warn]: Unknown tag @dynamic

えーどうしよっかなーと思ったけれど、YARD はカスタムタグも作れるハッカブルな感じに昔からなってるので取り敢えずこれはカスタムタグだよと教えてあげる事で suppress 出来た。 この手の話が他にも有るからなのか、ドキュメントから隠すというオプションも合って嬉しい。

.yardopts

--tag dynamic:"To avoid conflict with rbs(steep) annotation. See https://github.com/soutaro/steep/tree/3994d5af99c458c2799331258fbe463db3b26d9a#2-write-ruby-code"
--hide-tag dynamic

まぁなんでも過渡期だからこういう話はちょいちょい起こりそう。