Class: Caffeinate::DripEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/caffeinate/drip_evaluator.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mailing) ⇒ DripEvaluator

Returns a new instance of DripEvaluator.



5
6
7
# File 'lib/caffeinate/drip_evaluator.rb', line 5

def initialize(mailing)
  @mailing = mailing
end

Instance Attribute Details

#mailingObject (readonly)

Returns the value of attribute mailing.



4
5
6
# File 'lib/caffeinate/drip_evaluator.rb', line 4

def mailing
  @mailing
end

Instance Method Details

#call(&block) ⇒ Object



9
10
11
12
13
# File 'lib/caffeinate/drip_evaluator.rb', line 9

def call(&block)
  return true unless block

  instance_eval(&block)
end

#end!Object

Ends the CampaignSubscription



16
17
18
19
# File 'lib/caffeinate/drip_evaluator.rb', line 16

def end!
  mailing.caffeinate_campaign_subscription.end!
  false
end

#skip!Object

Skips the mailing



28
29
30
31
# File 'lib/caffeinate/drip_evaluator.rb', line 28

def skip!
  mailing.skip!
  false
end

#unsubscribe!Object

Unsubscribes the CampaignSubscription



22
23
24
25
# File 'lib/caffeinate/drip_evaluator.rb', line 22

def unsubscribe!
  mailing.caffeinate_campaign_subscription.unsubscribe!
  false
end