Теория
Для чего используются модули в Ruby?
Пространства имён и mixin-модули решают разные задачи. Разбираем include, prepend и extend, а также порядок поиска методов.
Читать ответ