Ruby on Rails ではコード中に TODO:
FIXME:
などのコメントがあると
rake notes
で課題一覧として確認することができます。
詳しくは下記を参照
Ruby | アノテーションコメント(TODO、FIXME、OPTIMIZE、HACK、REVIEW)
この rake notes
は Ruby on Rails の機能なので Rails 以外のプロジェクトでは利用できません。
そこで rake-notes
という gem があります。あるにはあります・・・
rake-notes とは?
Rails の rake notes
相当のことをしてくれる gem です。
インストール
$ gem install rake-notes
サンプル
試してみます。
適当なプロジェクトを作って TODO コメントを埋め込んでみます。
コード
require "sample/version"
# TODO: YARD モジュールヘッダーを書く
module Sample
# HOGE: カスタムタグ
def hoge
# FIXME: return hoge
puts "hige"
# OPTIMIZE: なんか最適化する
end
end
module Sample
# TODO: YARD
VERSION = "0.1.0"
end
結果確認
$ rake notes
lib/sample.rb:
* [ 3] [TODO] YARD モジュールヘッダーを書く
* [ 7] [FIXME] return hoge
* [ 9] [OPTIMIZE] なんか最適化する
lib/sample/version.rb:
* [ 2] [TODO] YARD
問題点
この gem 、実は除外設定ができません。
例えば bundle install --path vendor
とかしてると
vendor 配下の gem もすべて対象として検索してしまいます。
これに関しては Pull Request がありましたが、直す予定はない・・・
というよりもそもそもメンテする予定がないようです。
メンテナンスが再開され、プルリクが取り込まれたようです。 - 2018/09/11 追記
まとめ
もし Rails 以外で rake notes
の機能が欲しくて、継続してメンテナンスする気があって、
使いたい人もいっぱいいるなら作ると喜ばれるかもしれませんね。
「アノテーションコメントを残すぐらいなら、Issue化したほうがいいよ」
的な意見もありそうだし、どうなんでしょうね。