LINUX.ORG.RU

RoR куда положить свои классы?

 


0

1

Есть проект на RoR, для этого проекта написано несколько «плагинов»/«модулей», в общем несколько классов на руби которые вызываются в одном из контроллеров.
Эти классы периодически могут меняться, могут появляться новые, удаляться старые...
Их нужно складировать в какой нибудь директории и подключать к RoR.

Как это лучше организовать? Где складировать, как подключать?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)
Ответ на: комментарий от kelyar

гем делать не хочется потому что эти классы переодически меняются. А почему в app/models ?

TDrive ★★★★★
() автор топика
Ответ на: комментарий от anonymous

app/lib

А к рельсам как лучше подключить?

TDrive ★★★★★
() автор топика

Если эти классы хоть как-то можно назвать моделями, но в app/models.
Если нет, то в /lib.

blackst0ne ★★★★★
()
Ответ на: комментарий от TDrive

Если классов больше, чем один, то лучше указать lib целиком:

config.autoload_paths += %W(#{config.root}/lib)

А в дальнейшем либо соблюдать соглашения имён (тогда всё будет загружать автоматически по требованию), либо загружать явным образом через require.

Мы в приложениях используем первый способ, а в гемах/энджинах — второй.

Apple-ch ★★
()
Ответ на: комментарий от Od1n

в четвертых рельцах lib уже сам грузится, без кастомного указания в конфиге

4.2

Apple-ch ★★
()

Да какой в жопу /lib :D. Там классы эти не будут перезагружаться в dev-моде. Да и по конценции туда надо складировать утилиты, вообще слабо относящиеся к стеку.

Сделайте app/lib или app/services (потому что по сути это они и есть).

Ну и просто приложение перезагрузите, не надо ничего прописывать.

pechorin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.