Class: Mailkick::Service

Inherits:
Object
  • Object
show all
Defined in:
lib/mailkick/service.rb,
lib/mailkick/service/mailgun.rb,
lib/mailkick/service/mandrill.rb,
lib/mailkick/service/sendgrid.rb,
lib/mailkick/service/mailchimp.rb

Direct Known Subclasses

Mailchimp, Mailgun, Mandrill, Sendgrid

Defined Under Namespace

Classes: Mailchimp, Mailgun, Mandrill, Sendgrid

Instance Method Summary collapse

Instance Method Details

#fetch_opt_outsObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mailkick/service.rb', line 3

def fetch_opt_outs
  opt_outs.each do |api_data|
    email = api_data[:email]
    time = api_data[:time]

    opt_out = Mailkick::OptOut.where(email: email).order("updated_at desc").first
    if !opt_out || (time > opt_out.updated_at && !opt_out.active)
      Mailkick.opt_out(
        email: email,
        user: Mailkick.user_method ? Mailkick.user_method.call(email) : nil,
        reason: api_data[:reason],
        time: time
      )
    end
  end

  true
end