module Caffeinate::ActionMailer::Extension

Convenience for setting ‘@mailing`, and convenience methods for inferred `caffeinate_unsubscribe_url` and `caffeinate_subscribe_url`.

Public Class Methods

included(klass) click to toggle source
# File lib/caffeinate/action_mailer/extension.rb, line 8
def self.included(klass)
  klass.before_action do
    @mailing = params[:mailing] if params
  end

  klass.helper_method :caffeinate_unsubscribe_url, :caffeinate_subscribe_url
end

Public Instance Methods

caffeinate_subscribe_url(mailing: nil, **options) click to toggle source

Assumes ‘@mailing` is set

# File lib/caffeinate/action_mailer/extension.rb, line 23
def caffeinate_subscribe_url(mailing: nil, **options)
  mailing ||= @mailing
  Caffeinate::UrlHelpers.caffeinate_subscribe_url(mailing.caffeinate_campaign_subscription, **options)
end
caffeinate_unsubscribe_url(mailing: nil, **options) click to toggle source

Assumes ‘@mailing` is set

# File lib/caffeinate/action_mailer/extension.rb, line 17
def caffeinate_unsubscribe_url(mailing: nil, **options)
  mailing ||= @mailing
  Caffeinate::UrlHelpers.caffeinate_unsubscribe_url(mailing.caffeinate_campaign_subscription, **options)
end