LoginSignup
8
3

More than 5 years have passed since last update.

Rails以外でRubyのアノテーションコメントをリストアップする

Last updated at Posted at 2016-12-15

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 コメントを埋め込んでみます。

コード

lib/sample.rb
require "sample/version"

# TODO: YARD モジュールヘッダーを書く
module Sample
  # HOGE: カスタムタグ
  def hoge
    # FIXME: return hoge
    puts "hige"
    # OPTIMIZE: なんか最適化する
  end
end
lib/version.rb
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

demo.png

問題点

この gem 、実は除外設定ができません。
例えば bundle install --path vendor とかしてると
vendor 配下の gem もすべて対象として検索してしまいます。

これに関しては Pull Request がありましたが、直す予定はない・・・
というよりもそもそもメンテする予定がないようです。

メンテナンスが再開され、プルリクが取り込まれたようです。 - 2018/09/11 追記

pull 3 - fgrehm/rake-notes

まとめ

もし Rails 以外で rake notes の機能が欲しくて、継続してメンテナンスする気があって、
使いたい人もいっぱいいるなら作ると喜ばれるかもしれませんね。

「アノテーションコメントを残すぐらいなら、Issue化したほうがいいよ」
的な意見もありそうだし、どうなんでしょうね。

8
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3