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
# File 'lib/caffeinate/dripper/perform.rb', line 17

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