Я работаю над проектом на основе Sinatra, который использует DataMpper ORM.Я хотел бы иметь возможность определить критерии проверки DM во внешнем файле YAML, чтобы менее опытные пользователи системы могли легко настроить настройку.У меня это работает довольно хорошо, как подтверждение концепции, но я подозреваю, что может быть гораздо более простой или наименее ресурсоемкий подход к этому.
Прямо сейчас, скрипт загружает файл YAML и генерирует классы DM с рядом операторов eval (я знаю, что это уже ставит меня на тонкий лед).Проблема в том, что этот процесс должен происходить с каждым запросом.Моя яркая идея - проверить YAML на наличие изменений, заново создать классы и экспортировать в статический источник, если изменения обнаружены, и включить статические файлы, если не обнаружено никаких изменений.
Это оказывается сложнее, чем я ожидал, потому чтоэкспорт блоков кода в строки для сериализации не так прост, как я ожидал.
Это смешно?Я подхожу к этому совершенно неправильно?
Я новичок в Ruby и мире ORM, поэтому, пожалуйста, прости мое невежество.
Спасибо!