Class: Mailkick::Service::SendGrid

Inherits:
Mailkick::Service show all
Defined in:
lib/mailkick/service/sendgrid.rb

Constant Summary

Constants inherited from Mailkick::Service

Sendgrid

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Mailkick::Service

#fetch_opt_outs

Constructor Details

#initialize(options = {}) ⇒ SendGrid

Returns a new instance of SendGrid.



6
7
8
9
# File 'lib/mailkick/service/sendgrid.rb', line 6

def initialize(options = {})
  @api_user = options[:api_user] || ENV["SENDGRID_USERNAME"]
  @api_key = options[:api_key] || ENV["SENDGRID_PASSWORD"]
end

Class Method Details

.discoverable?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/mailkick/service/sendgrid.rb', line 28

def self.discoverable?
  !!(defined?(::SendgridToolkit) && ENV["SENDGRID_USERNAME"] && ENV["SENDGRID_PASSWORD"])
end

Instance Method Details

#bouncesObject



24
25
26
# File 'lib/mailkick/service/sendgrid.rb', line 24

def bounces
  fetch(::SendgridToolkit::Bounces, "bounce")
end

#opt_outsObject

TODO paginate



12
13
14
# File 'lib/mailkick/service/sendgrid.rb', line 12

def opt_outs
  unsubscribes + spam_reports + bounces
end

#spam_reportsObject



20
21
22
# File 'lib/mailkick/service/sendgrid.rb', line 20

def spam_reports
  fetch(::SendgridToolkit::SpamReports, "spam")
end

#unsubscribesObject



16
17
18
# File 'lib/mailkick/service/sendgrid.rb', line 16

def unsubscribes
  fetch(::SendgridToolkit::Unsubscribes, "unsubscribe")
end