Verás que las aplicaciones de Rails comienzan como repositorios únicos. Los más exitosos (Twitter, Square, muchos otros) se dividen en múltiples bases de código a medida que crecen en ese requisito. Esas bases de código adicionales pueden ser demonios , servicios , gemas, motores Rails u otra cosa.
Esta refactorización en múltiples proyectos no se realiza hasta que sea necesario, porque YAGNI . Bifurcar su proyecto el día 1 ralentiza el tiempo de creación de prototipos, y la velocidad de creación de prototipos es una fortaleza clave de Ruby y de Rails. Deberá tener en cuenta que crear o una clase en Ruby no cuesta casi nada, al igual que dividir una clase bien diseñada. Su código Ruby puro vivirá en su mayoría bajo /app/
( app/models
, app/views
app/controllers
, app/helpers
) y /lib/
. Sus activos estáticos, JS / Coffee en capas incluyen, y CSS / Sass / etc incluyen estarán en /app/assets
.
Comprender por qué separar una clase de Ruby es tan fácil requiere un poco de lectura sobre la escritura de patos y la comprensión de que las interfaces de Ruby no son tan férreas como podría estar acostumbrado en un entorno menos dinámico.
Aquí hay algunos enlaces que pueden interesarle:
Buena suerte con tus proyectos!