mailosaur 7.11.0 → 7.12.0
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 +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
|