Модули — это контейнеры для методов и констант, которые нельзя инстанцировать. Их главное применение — в качестве миксинов — совместного использования методов разными классами через include (так как Ruby поддерживает только одиночное наследование). Модули также обеспечивают пространства имён. Миксины — это элегантная альтернатива множественному наследованию в Ruby.
Почему это важно
()
puts
() = = name
.new().greet
