handles_services.rb 496 B

1234567891011121314151617
  1. # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. module ApplicationController::HandlesServices
  3. extend ActiveSupport::Concern
  4. included do
  5. # Easy build method to directly get a service object for a defined class.
  6. def use_service(klass)
  7. klass.new(current_user: current_user)
  8. end
  9. # Easy build method to directly call the 'execute' method of a service.
  10. def execute_service(klass, ...)
  11. use_service(klass).execute(...)
  12. end
  13. end
  14. end