以前からquerlyを使ってコードレビューで抜けがちな点をチェックできないかと考えていたのですが、やりたいことが出来ずに挫折していたところ、CodeReviewMeetup #4で gfxさんの発表(歴史的経緯の説明 as code - Speaker Deck) を見て再度やる気が出てきたので、Railsのモデル(ActiveRecordを継承したクラス)で「has_many
に dependent:
が指定されていないメソッド呼び出しを検出する」というのができないか、やってみました。
どうやらこれでいけるようです。
$ cd app/models
$ querly console
> find has_many(...,!dependent: :symbol:)
これ以外にも「has_many
で -> { order(...) }
を指定していない呼び出しを見つける」というのをやろうとしたのですが、(おそらく)querlyでProcやLambdaを検出できるパターンが用意されていないようなので、やるならInterpolation Syntax でやることになりそうです。ただ、これだと query console
で試せないため、querly.yml
に正規表現指定して試行錯誤する必要がありそうです。 querly.yml
が間違ってるときのエラーがわかりづらくてちょっとつらいので、もうちょっとモチベーション高めのときにチャレンジしようと思います。