Module: Caffeinate::Dripper::Perform

Included in:
Base
Defined in:
lib/caffeinate/dripper/perform.rb

Overview

Handles delivering a ‘Caffeinate::Mailing` for the `Caffeinate::Dripper`

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object

:nodoc:



8
9
10
# File 'lib/caffeinate/dripper/perform.rb', line 8

def self.included(klass)
  klass.extend ClassMethods
end

Instance Method Details

#perform!Object

Delivers the next_caffeinate_mailer for the campaign’s subscribers.

OrderDripper.new.perform!

Returns:

  • nil



17
18
19
20
21
22
23
24
# File 'lib/caffeinate/dripper/perform.rb', line 17

def perform!
  campaign.caffeinate_campaign_subscriptions.active.includes(:next_caffeinate_mailing).each do |subscriber|
    if subscriber.next_caffeinate_mailing
     subscriber.next_caffeinate_mailing.process!
    end
  end
  true
end