Refactor EmailReceiveWorker and ServiceDeskEmailReceiverWorker to use a ReceiverExecutor
The following discussion from !60692 (merged) should be addressed:
-
@tkuah started a discussion: I wonder if we can encapsulate some of this in its own class, something like
class ReceiverExecutor attr_accessor :receiver, :raw def initialize(receiver, raw) @receiver = receiver @raw = raw end def execute receiver.execute log_success rescue StandardError => e log_error(e) handle_failure(e) end private def logger Sidekiq.logger end def log_success end def log_error(error) end def handle_failure(error) end end def perform(raw) return unless should_perform? ReceiverExecutor.new(receiver_klass.new(raw), raw).execute end
- It means we don't need the
attr_accessor :raw
on the worker class - Not sure where to put this new class though, could be inline in this class for now ?
🤔
- It means we don't need the