module Caffeinate::Dripper::Delivery::ClassMethods

Public Instance Methods

deliver!(mailing) click to toggle source

Delivers the given Caffeinate::Mailing

@param [Caffeinate::Mailing] mailing The mailing to deliver

# File lib/caffeinate/dripper/delivery.rb, line 16
def deliver!(mailing)
  message = if mailing.drip.parameterized?
              mailing.mailer_class.constantize.with(mailing: mailing).send(mailing.mailer_action)
            else
              mailing.mailer_class.constantize.send(mailing.mailer_action, mailing)
            end

  message.caffeinate_mailing = mailing
  if ::Caffeinate.config.deliver_later?
    message.deliver_later
  else
    message.deliver
  end

end