module SpecialDelivery::Mailer

Public Instance Methods

special_delivery(params = {}) { || ... } click to toggle source
# File lib/special_delivery/mailer.rb, line 3
def special_delivery(params = {})
  callback_class = params[:callback_class]

  yield.tap do |mail|
    if mail && callback_class
      Delivery.new.tap do |delivery|
        delivery.callback_class_name = callback_class.to_s
        delivery.deliverable = params[:callback_record] if params[:callback_record]
        delivery.message_id = message_id_for(mail)
      end.save
    end