mailosaur 7.11.0 → 7.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/Mailosaur/messages.rb +12 -4
- data/lib/Mailosaur/models/message.rb +9 -5
- data/lib/Mailosaur/models/message_summary.rb +8 -4
- data/lib/Mailosaur/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2638a9fd82a043fbca71f70ecd4b044140c89d047c887115e066ed5835fa13a7
|
4
|
+
data.tar.gz: 78056da25a3d202acc63a0e58f46964f0e99c88d48f7e486414bcfd8b5aea18c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ecf79eea4f2797c59bc248f42f20dc89e06abc758c4498a510dfaea7b8741ba14d94267efc561bdbfba701418470ce03a5d2c4eef7d4e177eb43e0a74d1a915
|
7
|
+
data.tar.gz: 369d254a0d4fe8a1c89b39f3891ac199fe0683f15ec91cc4c79a3738afa2b6b3a49c441c1ca9b1278d9bea4b38de2c5d3ed89c55abf293dbc9900abf3833b57a
|
data/lib/Mailosaur/messages.rb
CHANGED
@@ -27,14 +27,16 @@ module Mailosaur
|
|
27
27
|
# (in milliseconds).
|
28
28
|
# @param received_after [DateTime] Limits results to only messages received
|
29
29
|
# after this date/time.
|
30
|
+
# @param dir [String] Optionally limits results based on the direction (`Sent`
|
31
|
+
# or `Received`), with the default being `Received`.
|
30
32
|
#
|
31
33
|
# @return [Message] operation results.
|
32
34
|
#
|
33
|
-
def get(server, criteria, timeout: 10_000, received_after: DateTime.now - (1.0 / 24))
|
35
|
+
def get(server, criteria, timeout: 10_000, received_after: DateTime.now - (1.0 / 24), dir: nil)
|
34
36
|
# Defaults timeout to 10s, receivedAfter to 1h
|
35
37
|
raise Mailosaur::MailosaurError.new('Must provide a valid Server ID.', 'invalid_request') if server.length != 8
|
36
38
|
|
37
|
-
result = search(server, criteria, page: 0, items_per_page: 1, timeout: timeout, received_after: received_after)
|
39
|
+
result = search(server, criteria, page: 0, items_per_page: 1, timeout: timeout, received_after: received_after, dir: dir)
|
38
40
|
get_by_id(result.items[0].id)
|
39
41
|
end
|
40
42
|
|
@@ -83,14 +85,17 @@ module Mailosaur
|
|
83
85
|
# returned per page. Can be set between 1 and 1000 items, the default is 50.
|
84
86
|
# @param received_after [DateTime] Limits results to only messages received
|
85
87
|
# after this date/time.
|
88
|
+
# @param dir [String] Optionally limits results based on the direction (`Sent`
|
89
|
+
# or `Received`), with the default being `Received`.
|
86
90
|
#
|
87
91
|
# @return [MessageListResult] operation results.
|
88
92
|
#
|
89
|
-
def list(server, page: nil, items_per_page: nil, received_after: nil)
|
93
|
+
def list(server, page: nil, items_per_page: nil, received_after: nil, dir: nil)
|
90
94
|
url = "api/messages?server=#{server}"
|
91
95
|
url += page ? "&page=#{page}" : ''
|
92
96
|
url += items_per_page ? "&itemsPerPage=#{items_per_page}" : ''
|
93
97
|
url += received_after ? "&receivedAfter=#{CGI.escape(received_after.iso8601)}" : ''
|
98
|
+
url += dir ? "&dir=#{dir}" : ''
|
94
99
|
|
95
100
|
response = conn.get url
|
96
101
|
|
@@ -134,14 +139,17 @@ module Mailosaur
|
|
134
139
|
# after this date/time.
|
135
140
|
# @param error_on_timeout [Boolean] When set to false, an error will not be
|
136
141
|
# throw if timeout is reached (default: true).
|
142
|
+
# @param dir [String] Optionally limits results based on the direction (`Sent`
|
143
|
+
# or `Received`), with the default being `Received`.
|
137
144
|
#
|
138
145
|
# @return [MessageListResult] operation results.
|
139
146
|
#
|
140
|
-
def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil, error_on_timeout: true)
|
147
|
+
def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil, error_on_timeout: true, dir: nil)
|
141
148
|
url = "api/messages/search?server=#{server}"
|
142
149
|
url += page ? "&page=#{page}" : ''
|
143
150
|
url += items_per_page ? "&itemsPerPage=#{items_per_page}" : ''
|
144
151
|
url += received_after ? "&receivedAfter=#{CGI.escape(received_after.iso8601)}" : ''
|
152
|
+
url += dir ? "&dir=#{dir}" : ''
|
145
153
|
|
146
154
|
poll_count = 0
|
147
155
|
start_time = Time.now.to_f
|
@@ -3,20 +3,21 @@ module Mailosaur
|
|
3
3
|
class Message < BaseModel
|
4
4
|
def initialize(data = {})
|
5
5
|
@id = data['id']
|
6
|
+
@type = data['type']
|
6
7
|
@from = []
|
7
|
-
(data['from'] || []).each
|
8
|
+
(data['from'] || []).each { |i| @from << Mailosaur::Models::MessageAddress.new(i) }
|
8
9
|
@to = []
|
9
|
-
(data['to'] || []).each
|
10
|
+
(data['to'] || []).each { |i| @to << Mailosaur::Models::MessageAddress.new(i) }
|
10
11
|
@cc = []
|
11
|
-
(data['cc'] || []).each
|
12
|
+
(data['cc'] || []).each { |i| @cc << Mailosaur::Models::MessageAddress.new(i) }
|
12
13
|
@bcc = []
|
13
|
-
(data['bcc'] || []).each
|
14
|
+
(data['bcc'] || []).each { |i| @bcc << Mailosaur::Models::MessageAddress.new(i) }
|
14
15
|
@received = DateTime.parse(data['received'])
|
15
16
|
@subject = data['subject']
|
16
17
|
@html = Mailosaur::Models::MessageContent.new(data['html'])
|
17
18
|
@text = Mailosaur::Models::MessageContent.new(data['text'])
|
18
19
|
@attachments = []
|
19
|
-
(data['attachments'] || []).each
|
20
|
+
(data['attachments'] || []).each { |i| @attachments << Mailosaur::Models::Attachment.new(i) }
|
20
21
|
@metadata = Mailosaur::Models::Metadata.new(data['metadata'])
|
21
22
|
@server = data['server']
|
22
23
|
end
|
@@ -24,6 +25,9 @@ module Mailosaur
|
|
24
25
|
# @return Unique identifier for the message.
|
25
26
|
attr_accessor :id
|
26
27
|
|
28
|
+
# @return The type of message.
|
29
|
+
attr_accessor :type
|
30
|
+
|
27
31
|
# @return [Array<MessageAddress>] The sender of the message.
|
28
32
|
attr_accessor :from
|
29
33
|
|
@@ -3,15 +3,16 @@ module Mailosaur
|
|
3
3
|
class MessageSummary < BaseModel
|
4
4
|
def initialize(data = {})
|
5
5
|
@id = data['id']
|
6
|
+
@type = data['type']
|
6
7
|
@server = data['server']
|
7
8
|
@from = []
|
8
|
-
(data['from'] || []).each
|
9
|
+
(data['from'] || []).each { |i| @from << Mailosaur::Models::MessageAddress.new(i) }
|
9
10
|
@to = []
|
10
|
-
(data['to'] || []).each
|
11
|
+
(data['to'] || []).each { |i| @to << Mailosaur::Models::MessageAddress.new(i) }
|
11
12
|
@cc = []
|
12
|
-
(data['cc'] || []).each
|
13
|
+
(data['cc'] || []).each { |i| @cc << Mailosaur::Models::MessageAddress.new(i) }
|
13
14
|
@bcc = []
|
14
|
-
(data['bcc'] || []).each
|
15
|
+
(data['bcc'] || []).each { |i| @bcc << Mailosaur::Models::MessageAddress.new(i) }
|
15
16
|
@received = DateTime.parse(data['received'])
|
16
17
|
@subject = data['subject']
|
17
18
|
@summary = data['summary']
|
@@ -21,6 +22,9 @@ module Mailosaur
|
|
21
22
|
# @return
|
22
23
|
attr_accessor :id
|
23
24
|
|
25
|
+
# @return
|
26
|
+
attr_accessor :type
|
27
|
+
|
24
28
|
# @return [String]
|
25
29
|
attr_accessor :server
|
26
30
|
|
data/lib/Mailosaur/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailosaur
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mailosaur
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|