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