class Reactor::Workers::MailerWorker

Public Instance Methods

deliver(msg) click to toggle source
# File lib/reactor/workers/mailer_worker.rb, line 25
def deliver(msg)
  if msg.respond_to?(:deliver_now)
    # Rails 4.2/5.0
    msg.deliver_now
  else
    # Rails 3.2/4.0/4.1 + Generic Mail::Message
    msg.deliver
  end
end
deliverable?(msg) click to toggle source
# File lib/reactor/workers/mailer_worker.rb, line 35
def deliverable?(msg)
  msg.respond_to?(:deliver_now) || msg.respond_to?(:deliver)
end
perform(data) click to toggle source
# File lib/reactor/workers/mailer_worker.rb, line 11
def perform(data)
  raise_unconfigured! unless configured?
  return :__perform_aborted__ unless should_perform?
  event = Reactor::Event.new(data)

  msg = if action.is_a?(Symbol)
    source.send(action, event)
  else
    source.class_exec event, &action
  end

  deliverable?(msg) ? deliver(msg) : msg
end