RGJ
(Richard - Communiteq)
Septembre 2, 2026, 3:47
494
Hmm, est-ce que ça fonctionne vraiment ? D’après mon expérience, toucher Plugin::Instance après l’initialisation ne se passe pas bien.
pmusaraj
(Penar Musaraj)
Septembre 2, 2026, 4:38
495
Oui, nous l’utilisons à plusieurs endroits dans after_initialize, par exemple :
Guardian.prepend Chat::GuardianExtensions
UserNotifications.prepend Chat::UserNotificationsExtension
Notifications::ConsolidationPlan.prepend Chat::NotificationConsolidationExtension
UserOption.prepend Chat::UserOptionExtension
Category.prepend Chat::CategoryExtension
Reviewable.prepend Chat::ReviewableExtension
Bookmark.prepend Chat::BookmarkExtension
Upload.prepend Chat::UploadExtension
User.prepend Chat::UserExtension
Group.prepend Chat::GroupExtension
Plugin::Instance.prepend Chat::PluginInstanceExtension
Jobs::ExportCsvFile.prepend Chat::MessagesExporter
WebHook.prepend Chat::OutgoingWebHookExtension
end
Oneboxer.register_local_handler("chat/chat") do |url, route|
Chat::OneboxHandler.handle(url, route)
end
InlineOneboxer.register_local_handler("chat/chat") do |url, route|
Chat::InlineOneboxHandler.handle(url, route)
Le problème principal est que les autres plugins ou le cœur du système ne peuvent pas accéder à la méthode préfixée. Dans ce cas, la méthode n’est accédée que par le même plugin, plus tard dans le cycle de vie.
1 « J'aime »