バリデーションを自動化するgemを作った話

こんにちは。
マネーフォワードのわり算グループでインターンをしている小野直人です。

今回の記事ではタイトルにもある通り、rakeコマンドを打つことでRailsのActiveRecordのバリデーションを自動で書いてくれるgemについて紹介したいと思います。
https://github.com/ono-max/spicy_validation

gemを作った背景

僕の頂いたタスクで「与えられた仕様に沿ってモデルファイル・テーブル定義をする(マイグレーションファイルを書く)」というものがありました。この時に作るモデルファイルやマイグレーションファイルの量が多く、以下の課題感を持ちました。

  • 内向きな課題:単純作業なので途中で飽きてしまいそう
  • 外向きな課題:ケアレスミスを指摘する手間をレビュアーにかけたくない・効率的にミスなくやりたい

そこでこれらの解決策として自動化するgemを作ってみようと考えました。どこを自動化すべきか考えるために自分が普段モデルファイル・テーブル定義をする上でどのようなコマンドを打ちどのようにコードを書くのか考えてみることにしました。

続きを読む