Tengo una aplicación Sinatra que responde a las llamadas de API, y una aplicación de Rails que maneja los informes y todas las cosas bonitas como los gráficos y el sitio web. Ambos necesitan tener acceso a un conjunto común de modelos (por ejemplo, cuentas, sitios, etc.)Compartiendo el código del modelo entre Sinatra y Rails
Mi problema es: ¿cómo comparto el código de manera eficiente entre las dos aplicaciones? Por ejemplo, si estoy editando el modelo de Cuentas en Sinatra, no quiero tener que recordar duplicar los mismos cambios en la aplicación Rails. Prefiero no usar el montaje Rails Rack ya que las dos aplicaciones estarán en clústeres separados.
que he visto en StackOverflow sugerencias sobre:
- Módulos Git
- enlaces simbólicos (no funcionará con Windows que utiliza mi colega)
- Rieles plugins (dudo que esto funcionaría con Sinatra)
- gemas de rubí (creo que esto es demasiado excesivo para sólo los datos del modelo, pero eso es sólo conmigo)
Las dos aplicaciones una re en diferentes repositorios. Básicamente, primero estoy desarrollando la API y luego agrego la lógica específica de la Cuenta más adelante en la aplicación Rails (principalmente porque Rails tiene muchas más bibliotecas que facilitan el desarrollo de este tipo de cosas).
¿Cómo resolvería este problema?
¿Las aplicaciones están en el mismo repositorio o en otras diferentes? –
Están en repositorios diferentes :) ¿Recomendarías que estén en el mismo repositorio entonces? – parasquid
No, solo me preguntaba, ya que las opciones cambian un poco dependiendo. Personalmente, creo que los módulos de git o una gema privada son las mejores opciones. –