Class: Mailkick::Service::Mandrill
- Inherits:
-
Mailkick::Service
- Object
- Mailkick::Service
- Mailkick::Service::Mandrill
- Defined in:
- lib/mailkick/service/mandrill.rb
Constant Summary collapse
- REASONS_MAP =
{ "hard-bounce" => "bounce", "soft-bounce" => "bounce", "spam" => "spam", "unsub" => "unsubscribe" }
Constants inherited from Mailkick::Service
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(api_key: nil) ⇒ Mandrill
constructor
A new instance of Mandrill.
-
#opt_outs ⇒ Object
TODO paginate.
Methods inherited from Mailkick::Service
Constructor Details
#initialize(api_key: nil) ⇒ Mandrill
Returns a new instance of Mandrill.
13 14 15 16 17 18 |
# File 'lib/mailkick/service/mandrill.rb', line 13 def initialize(api_key: nil) require "mandrill" @mandrill = ::Mandrill::API.new( api_key || ENV["MANDRILL_APIKEY"] || ENV["MANDRILL_API_KEY"] ) end |
Class Method Details
.discoverable? ⇒ Boolean
31 32 33 |
# File 'lib/mailkick/service/mandrill.rb', line 31 def self.discoverable? !!(defined?(::Mandrill::API) && (ENV["MANDRILL_APIKEY"] || ENV["MANDRILL_API_KEY"])) end |
Instance Method Details
#opt_outs ⇒ Object
TODO paginate
21 22 23 24 25 26 27 28 29 |
# File 'lib/mailkick/service/mandrill.rb', line 21 def opt_outs @mandrill.rejects.list.map do |record| { email: record["email"], time: ActiveSupport::TimeZone["UTC"].parse(record["created_at"]), reason: REASONS_MAP[record["reason"]] } end end |