LoginSignup
0

More than 5 years have passed since last update.

querlyでhas_manyのdependent指定漏れを検出するパターン

Posted at

以前からquerlyを使ってコードレビューで抜けがちな点をチェックできないかと考えていたのですが、やりたいことが出来ずに挫折していたところ、CodeReviewMeetup #4で gfxさんの発表(歴史的経緯の説明 as code - Speaker Deck) を見て再度やる気が出てきたので、Railsのモデル(ActiveRecordを継承したクラス)で「has_manydependent:が指定されていないメソッド呼び出しを検出する」というのができないか、やってみました。

どうやらこれでいけるようです。

$ cd app/models
$ querly console 
> find has_many(...,!dependent: :symbol:)

これ以外にも「has_many-> { order(...) } を指定していない呼び出しを見つける」というのをやろうとしたのですが、(おそらく)querlyでProcやLambdaを検出できるパターンが用意されていないようなので、やるならInterpolation Syntax でやることになりそうです。ただ、これだと query console で試せないため、querly.yml に正規表現指定して試行錯誤する必要がありそうです。 querly.yml が間違ってるときのエラーがわかりづらくてちょっとつらいので、もうちょっとモチベーション高めのときにチャレンジしようと思います。

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
0