Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Syntastic を使って Rails プロジェクト内でだけ RuboCop に --rails オプションをつける

$
0
0

追記: Syntastic でどうにかするより Rails プロジェクトの .rubocop.ymlで設定したほうがいい→コメント参照

Syntasticは Vim でファイルを保存した時点でシンタックスチェッカーを実行し、結果をバッファに表示してくれるプラグイン。 Syntastic は Ruby の静的コード解析器 RuboCopにも対応している。

RuboCop に --railsオプションを渡すと Ruby on Rails に特化したモードで解析してくれる。これを Rails プロジェクト内でだけ有効にするには、 rails.vimと組み合わせて以下のように設定する。

" Ruby ファイルに対し RuboCop を実行するletg:syntastic_ruby_checkers = ['rubocop']

" カレントディレクトリが Rails プロジェクトのディレクトリ以下であれば、" rails.vim によって b:rails_root がセットされる" これがセットされているときだけ RuboCop に --rails オプションを渡すauFileTyperubyif exists('b:rails_root')|
  \ letb:syntastic_ruby_rubocop_options ='--rails'|endif

課題

Rails プロジェクトに含まれるが Rails とは関係しない Ruby スクリプト(たとえば my_rails_app/script/foo.rb)にも --railsオプションが適用される。これを防ぐには autocmd の条件式でカレントファイルのパスに /app/または /spec/が含まれているかどうかをチェックすればよいだろう。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>