mailkick 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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