I moduli sono contenitori per metodi e costanti che non possono essere istanziati. Il loro uso principale è come mixin — condividere metodi tra classi tramite include (poiché Ruby ha ereditarietà singola). I moduli forniscono anche namespacing. I mixin sono l'alternativa elegante di Ruby all'ereditarietà multipla.
Moduli come mixin — condividere il comportamento tra classi
()
puts
() = = name
.new().greet
