class Caffeinate::DripEvaluator

Handles evaluating the ‘drip` block and provides convenience methods for handling the mailing or its campaign.

Attributes

mailing[R]

Public Class Methods

new(mailing) click to toggle source
# File lib/caffeinate/drip_evaluator.rb, line 8
def initialize(mailing)
  @mailing = mailing
end

Public Instance Methods

call(&block) click to toggle source
# File lib/caffeinate/drip_evaluator.rb, line 12
def call(&block)
  return true unless block
  catch(:abort) do
    result = instance_eval(&block)
    return result.nil? || result === true
  end
  false
end
end!(*args) click to toggle source

Ends the CampaignSubscription

# File lib/caffeinate/drip_evaluator.rb, line 22
def end!(*args)
  mailing.caffeinate_campaign_subscription.end!(*args)
  throw(:abort)
end
skip!() click to toggle source

Skips the mailing

# File lib/caffeinate/drip_evaluator.rb, line 34
def skip!
  mailing.skip!
  throw(:abort)
end
unsubscribe!(*args) click to toggle source

Unsubscribes the CampaignSubscription

# File lib/caffeinate/drip_evaluator.rb, line 28
def unsubscribe!(*args)
  mailing.caffeinate_campaign_subscription.unsubscribe!(*args)
  throw(:abort)
end