Null Objectパターンの実装を支援するgemとして、Naught というgemがあるのですが、Qiitaでは、業界のjoker1017さんの 俺がGitHubでスターを付けたリポジトリ一覧 という記事ぐらいしか見つからなかったので、その使い方と有用性をざっくり説明したいと思います。 Null Objectパターン is 何? 私も最近になって知ったのですが、 こちらの記事 NullObjectパターン によると、 あるオブジェクトが nil でなければ、メソッドを呼び出す こういうパターンが頻出する場合、obj に nil の代わりに何もしないメソッドを持つオブジェクト を格納しておく インターフェースだけ持って、何もしないオブジェクトを用意することで、 そのオブジェクトを使う側は、オブジェクトが生成されなかった場合を気にする必要がなくなる → オブジェクトの状態を意識する必要が無