Как я могу удалить обратные вызовы, вставленные кодом поставщика? - PullRequest
3 голосов
/ 13 июля 2010

Драгоценный камень, который я использую, вставляет обратный вызов after_save, который я хотел бы удалить. Мне кажется, было бы чище удалить символ из массива, чем решить проблему с обезьяньим патчем. Как я могу получить доступ к массиву обратных вызовов?

Ответы [ 2 ]

11 голосов
/ 29 сентября 2010
class UserSession < Authlogic::Session::Base
  # Don't use cookie AuthLogic behaviour
  skip_callback :persist, :persist_by_cookie
  skip_callback :after_save, :save_cookie
  skip_callback :after_destroy, :destroy_cookie
end
2 голосов
/ 14 июля 2010

массив after_save доступен через Model.after_save, это массив ActiveSupport::Callbacks::Callback объектов. Вы можете запустить это из модели

self.after_save.delete_if{|callback| callback.method == :do_something_callback}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...