Actualmente estamos usando Sinatra para un proyecto de producción (no implementado en vivo todavía, aún en desarrollo).
Básicamente está envolviendo una base de datos utilizada por una aplicación heredada y exponiendo los servicios web REST a otras aplicaciones internamente para que puedan interactuar con la aplicación heredada sin tener que acceder directamente a la base de datos.
Carriles fue considerado, pero no se utilizan debido a que:
- Sin capa de vista (esencialmente vistas son sólo JSON/XML respuestas REST)
- modelo se implementa utilizando Sequel (ActiveRecord chupa tratar con DBs heredadas con peculiar , estructuras no estándar, pero Sequel es bastante agradable para esto)
- Controller y capa de enrutamiento es bastante simple (aunque hay alguna lógica de negocio complejo implementado en Ruby copia de ella)
Teniendo en cuenta estos requisitos, Rails es utilizable, pero excesivo, mientras que Sinatra da en el blanco.
Curiosamente, rubular tiene un backend Rails. http://builtwith.com/rubular.com – Rishi