Я ищу инструмент Ruby / Rails, который поможет мне выполнить следующее:
Я хотел бы сохранить следующую строку и подобные ей в моей базе данных. Когда объект создается, обновляется, удаляется и т. Д., Я хочу выполнить все строки, проверить, соответствует ли событие CRUD условиям строки, и, если это так, запустить указанные действия.
When a new ticket is created and it's category=6 then notify user 1234 via email
Я планирую создать интерфейс, который строит эти строки, так что это не обязательно должна быть читаемая человеком строка. Если структура JSONish лучше или у инструмента есть существующий язык, это было бы замечательно. Я вроде думаю что-то вроде:
{
object_types: ['ticket'],
events: ['created', 'updated'],
conditions:'ticket.category=6',
actions: 'notify user',
parameters: {
user:1234,
type:'email'
}
}
Итак, мне нужно следующее:
Мониторинг событий CRUD - Было бы неплохо, если бы у инструмента был способ сделать это, но я могу использовать здесь ModelObservers Rails, если инструмент изначально не предоставляет его
Найти все подходящие "правила" - Это мой главный неизвестный ...
Выполнить запрошенный метод / параметры - В идеале это будет определено в моем коде Ruby как классы / методы
Существуют ли какие-либо инструменты, которые я должен исследовать?
Edit:
Спасибо за ответы, ребята! Я действительно ценю, что вы указали мне правильный путь.
В данном случае мы используем много разных клиентов со многими различными бизнес-правилами. Для правил, которые применяются ко всем клиентам, я легко могу создать их в коде (используя что-то вроде Ruleby), но для всех специфичных для клиента я бы хотел сохранить их в базе данных. В идеале правило может быть записано один раз, сохранено либо в коде, либо в БД, а затем запущено (используя что-то Resque для производительности).
На данный момент, похоже, мне придется кататься самостоятельно, поэтому любые мысли о том, как лучше всего это сделать, или любые инструменты, которые я должен исследовать, будут с благодарностью.
Еще раз спасибо!