Скажем, у меня есть приложение для направляющих, которое получает максимум от, он - функциональность от драгоценного камня (например, CMS).
Если я теперь должен добавить некоторое удовлетворение требованиям заказчика (например, добавьте свойство к пользователю), какова лучшая практика способ сделать это? Если я настрою драгоценный камень, то у меня будут проблемы с обновлением драгоценного камня в будущем.
Что лучший подход должен взять здесь?
Ruby позволяет расширять классы во время выполнения, поэтому часто можно взломать библиотеку, не трогая исходный код. В противном случае я бы посоветовал загрузить жемчужину, создать несколько крючков в библиотеке и отправить их обратно в виде патча.
Обновление:
Обратите внимание, что эти настройки специфичны для приложений
Да. Я имел в виду модификацию api таким образом, чтобы можно было настраивать каждое приложение. Например, позволяя пользователю передавать блок определенным методам и т.д.