Un framework es una estructura mediante la cual un proyecto de software puede ser organizado y desarrollado. Puede incluir programas, bibliotecas y un lenguaje interpretado (entre otras cosas) para ayudar en el desarrollo del proyecto, cohesionando sus diferentes partes.
Y he aquí una comparativa de los mejores frameworks para el desarrollo en Ruby:
(click para ampliar la imagen)
(*) Comparativa realizada con Bestwebframeworks.