こんにちは、鈴木です。 モジュールの include と extend は慣れるまではややこしいですね。 ライブラリを使用する時に、提供されているモジュールを include すれば良いのか、extend すれば良いのか迷うこともあると思います。 えぇーい、面倒くさい! ということで生まれたかどうかは知りませんが、モジュールに関する頻出パターンをご紹介します。 「モジュールが include された時に、クラスメソッドとインスタンスメソッドの両方を追加する」という手法です。 この手法を使うと、何も考えずに include すれば便利なクラスメソッドやインスタンスメソッドが使えるようになるモジュールを作ることができます。