Ви побачите, що програми Rails починаються як один репост. Більш успішні (Twitter, Square, багато інших) розділяються на декілька кодових баз, коли вони переростають у цю вимогу. Такими додатковими базами коду можуть бути демони , сервіси , дорогоцінні камені, Rails Engine або щось інше.
Цей рефакторинг на кілька проектів не робиться, поки не виявиться необхідним, оскільки YAGNI . Біфуркація вашого проекту в перший день сповільнює час складання прототипів, а швидкість прототипування є ключовою силою Ruby та Rails. Ви хочете пам’ятати, що створення або клас у Ruby майже нічого не коштує, як і розбиття добре розробленого класу. Ваш чистий рубін код буде жити в основному під /app/
( app/models
, app/views
app/controllers
, app/helpers
) і /lib/
. Ваші статичні активи, багатошаровий JS / Coffee включає, а CSS / Sass / тощо включає в себе /app/assets
.
Розуміння того, чому розбивати клас Ruby так легко, вимагає трохи ознайомитися з набором качок і розуміти, що інтерфейси Ruby не такі залізні, як ви могли звикнути в менш динамічному середовищі.
Ось кілька посилань, які можуть вас зацікавити:
Успіхів у ваших проектах!