Dans Rails, le plus proche que j'ai vu à Django Signals sont Observers. Le problème avec eux est qu'ils sont limités à déclencher des rappels sur des événements codés en dur liés au cycle de vie d'un modèle.Equivalent de Signaux Django pour Rails?
Les signaux Django peuvent être créés n'importe où, déclenchés n'importe où et gérés n'importe où. Les rappels du cycle de vie du modèle ne sont que des signaux réguliers qui viennent à être intégrés et qui sont déclenchés par l'ORM.
Quelqu'un connaît-il une solution similaire pour Rails? Ce pourrait être une bibliothèque Ruby générique, non liée à Rails, ce qui serait encore mieux.
Modifier: Observer est la chose la plus proche, mais ce n'est pas ce que je cherche. C'est une solution un-à-plusieurs. Tout le monde peut écouter, mais seul l'objet d'origine peut poster. Je voudrais quelque chose où vous déclarez un signal, et n'importe qui peut le déclencher ainsi que le gérer. Aussi, je n'aime pas le fait que le Ruby Observer dicte que le gestionnaire a une méthode #update. J'aimerais pouvoir passer n'importe quelle référence de méthode avec la signature appropriée.
Je pourrais utiliser le Ruby Observer pour implémenter mon propre courtier, mais j'essaie d'apprendre si quelqu'un l'a déjà fait.
C'est juste le modèle Observer, qui fait partie des libs standards Ruby, plutôt que Rails. Rails Les observateurs sont un cas spécial, convention-over-configuration, autant que je sache. –