handles_transitions.rb 511 B

123456789101112131415161718192021222324
  1. # Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. module ApplicationController::HandlesTransitions
  3. extend ActiveSupport::Concern
  4. included do
  5. around_action :handle_transaction
  6. end
  7. private
  8. def handle_transaction
  9. ApplicationHandleInfo.current = 'application_server'
  10. PushMessages.init
  11. yield
  12. TransactionDispatcher.commit
  13. PushMessages.finish
  14. ActiveSupport::Dependencies::Reference.clear!
  15. ensure
  16. ApplicationHandleInfo.current = nil
  17. end
  18. end