emailbutler 0.5.6 → 0.5.8
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fbec5fbe393584e210acf55f844191eef00fe3e4fff85bfac613553768ca59e
|
4
|
+
data.tar.gz: f7d18a4205c146435eaf1c3bef7fbc9fad9aee7c56777f503714ea6ae7a7401e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7b1a5256a1e258e8223a352026570f6ef29c4fbb268d921e63733264e2705a82237845f86413b8d4fbf157421b6e8633f881f565a13ce491e9a57f170f11e3e
|
7
|
+
data.tar.gz: c083e3b6b964bb7e847c8cd8cfb059cac3c538a7f2fff41ff26896bd42667bc89877507caf2cda58ee9dd6757d76e37e5d389c35c6de098b621822f0bda1cf72
|
data/lib/emailbutler/version.rb
CHANGED
@@ -7,9 +7,12 @@ module Emailbutler
|
|
7
7
|
DELIVERABILITY_MAPPER = {
|
8
8
|
'processed' => 'processed',
|
9
9
|
'delivered' => 'delivered',
|
10
|
+
'open' => 'delivered',
|
11
|
+
'click' => 'delivered',
|
10
12
|
'deferred' => 'failed',
|
11
13
|
'bounce' => 'failed',
|
12
|
-
'dropped' => 'failed'
|
14
|
+
'dropped' => 'failed',
|
15
|
+
'spamreport' => 'failed'
|
13
16
|
}.freeze
|
14
17
|
|
15
18
|
def self.call(...)
|
@@ -18,14 +21,15 @@ module Emailbutler
|
|
18
21
|
|
19
22
|
def call(payload:)
|
20
23
|
payload['_json'].filter_map { |message|
|
21
|
-
|
24
|
+
message.stringify_keys!
|
25
|
+
message_uuid = message['smtp-id'] || message['sg_message_id']
|
22
26
|
status = DELIVERABILITY_MAPPER[message['event']]
|
23
|
-
next
|
27
|
+
next if message_uuid.nil? || status.nil?
|
24
28
|
|
25
29
|
{
|
26
30
|
message_uuid: message_uuid,
|
27
31
|
status: status,
|
28
|
-
timestamp: Time.at(message['timestamp']).utc.to_datetime
|
32
|
+
timestamp: message['timestamp'] ? Time.at(message['timestamp']).utc.to_datetime : nil
|
29
33
|
}
|
30
34
|
}
|
31
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emailbutler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bogdanov Anton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pagy
|