mailkick 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8256980737a3ffda9fce00c4117b05566bf89728f39869e3c5f8afd8a0419728
4
- data.tar.gz: dc8887bf9b238bdc3031e7f1b0aa3ba42a36f371494f62583b319b84dab70162
3
+ metadata.gz: 6e4c1d35fb49e05d3415afe507e229c2cbe7f4da0e2f684e91b5754a0418422f
4
+ data.tar.gz: 0fe44b2723b4dbce1d4d5486530a3cbacfc14bfb406c1b47ff28bbb28f2f7a20
5
5
  SHA512:
6
- metadata.gz: 670b60804614ab81daba07cbc20fdde047386b6ea704f66ce4934737b9211b16e34683ad469f318683195aa7036d19615ba4a0363352c0979ec6a40b2467f009
7
- data.tar.gz: b5acb8496859d172360fb59ff06a7406831b79837264758eb9f6ba88c47ff3b731404b7a75bf08c59539553ff8ab44901785485e996c69063bdb086973a70977
6
+ metadata.gz: 1271af0d6c368f853f77dad646584e4a91b90bde9033c93ce29cba4c5d1a646c298983fcf46d0c89b2979ddf3cb40764e63574846673e29cd9b7f15053f69674
7
+ data.tar.gz: 37db46884bdec50cb02503e898e3834bc878d83cec5681a616da71f12c3b21236c90d32e9da2e7e2812f0fef88cff99292c73e65d1fe399c765d5a8d9cb45e1a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.4.1
2
+
3
+ - Added Postmark support
4
+
1
5
  ## 0.4.0
2
6
 
3
7
  - Fixed error with model methods and `email_key` option
data/README.md CHANGED
@@ -123,6 +123,14 @@ gem 'mailgun-ruby'
123
123
 
124
124
  Be sure `ENV["MAILGUN_API_KEY"]` is set.
125
125
 
126
+ #### Postmark
127
+
128
+ ```ruby
129
+ gem 'postmark'
130
+ ```
131
+
132
+ Be sure `ENV["POSTMARK_API_KEY"]` is set.
133
+
126
134
  #### Other
127
135
 
128
136
  Will gladly accept pull requests.
data/lib/mailkick.rb CHANGED
@@ -9,6 +9,7 @@ require "mailkick/service/mailchimp"
9
9
  require "mailkick/service/mailgun"
10
10
  require "mailkick/service/mandrill"
11
11
  require "mailkick/service/sendgrid"
12
+ require "mailkick/service/postmark"
12
13
  require "mailkick/version"
13
14
 
14
15
  # integrations
@@ -0,0 +1,41 @@
1
+ # https://github.com/wildbit/postmark-gem
2
+
3
+ module Mailkick
4
+ class Service
5
+ class Postmark < Mailkick::Service
6
+ REASONS_MAP = {
7
+ "SpamNotification" => "spam",
8
+ "SpamComplaint" => "spam",
9
+ "Unsubscribe" => "unsubscribe",
10
+ }
11
+
12
+ def initialize(options = {})
13
+ @client = ::Postmark::ApiClient.new(options[:api_key] || ENV["POSTMARK_API_KEY"])
14
+ end
15
+
16
+ def opt_outs
17
+ bounces
18
+ end
19
+
20
+ def bounces
21
+ fetch(@client.bounces)
22
+ end
23
+
24
+ def self.discoverable?
25
+ !!(defined?(::Postmark) && ENV["POSTMARK_API_KEY"])
26
+ end
27
+
28
+ protected
29
+
30
+ def fetch(response)
31
+ response.map do |record|
32
+ {
33
+ email: record[:email],
34
+ time: ActiveSupport::TimeZone["UTC"].parse(record[:bounced_at]),
35
+ reason: REASONS_MAP.fetch(record[:type], "bounce")
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,3 +1,3 @@
1
1
  module Mailkick
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailkick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: postmark
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: combustion
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -188,6 +202,7 @@ files:
188
202
  - lib/mailkick/service/mailchimp.rb
189
203
  - lib/mailkick/service/mailgun.rb
190
204
  - lib/mailkick/service/mandrill.rb
205
+ - lib/mailkick/service/postmark.rb
191
206
  - lib/mailkick/service/sendgrid.rb
192
207
  - lib/mailkick/version.rb
193
208
  homepage: https://github.com/ankane/mailkick
@@ -209,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
224
  - !ruby/object:Gem::Version
210
225
  version: '0'
211
226
  requirements: []
212
- rubygems_version: 3.0.4
227
+ rubygems_version: 3.0.3
213
228
  signing_key:
214
229
  specification_version: 4
215
230
  summary: Email subscriptions made easy