概要

今日はConcernについて学んだ。

学んだこと

ActiveSupport::Concernモジュールとは Ruby on Railsのコンポーネントであり、Ruby言語の拡張などを行っているActiveSupportの一部。

Concernの主な目的は:

コードの重複を避ける — 同じ定義を1箇所にまとめる

一貫性を保つ — 複数モデルで必ず同じ条件・定義を使うことを保証する

変更を楽にする — 将来enumの値を追加したくなったらConcernを1箇所変えるだけで両方のモデルに反映される

参考文献

https://qiita.com/h-shima/items/d772b4cbe7368ddb8255