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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6102a62b1dead548c4a915faaa7e5d11fefc16c10850ccee5482c9974ab656df
4
- data.tar.gz: 9005be36f38c933f9ada0df3312fc23dcffd74c6611d93ef300277ab9c78a0bb
3
+ metadata.gz: 2638a9fd82a043fbca71f70ecd4b044140c89d047c887115e066ed5835fa13a7
4
+ data.tar.gz: 78056da25a3d202acc63a0e58f46964f0e99c88d48f7e486414bcfd8b5aea18c
5
5
  SHA512:
6
- metadata.gz: 43b69b34cae04d096a6c2a7d16275d83b98cd3b9d9a876e6512b4c99ad85eb59c5c4830ca3c3b983e0988037c522e847c7297125175eb5e5240a1aabba857403
7
- data.tar.gz: f1cf79f34626e7645ac92a8eef78c9b7d535c5c765170318b03cde0e4385a3a5df82a00b71e3019cb2517b4021c0d5fde7ed7dfeaddeb7b289eff491eea2c029
6
+ metadata.gz: 3ecf79eea4f2797c59bc248f42f20dc89e06abc758c4498a510dfaea7b8741ba14d94267efc561bdbfba701418470ce03a5d2c4eef7d4e177eb43e0a74d1a915
7
+ data.tar.gz: 369d254a0d4fe8a1c89b39f3891ac199fe0683f15ec91cc4c79a3738afa2b6b3a49c441c1ca9b1278d9bea4b38de2c5d3ed89c55abf293dbc9900abf3833b57a
@@ -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 do |i| @from << Mailosaur::Models::MessageAddress.new(i) end
8
+ (data['from'] || []).each { |i| @from << Mailosaur::Models::MessageAddress.new(i) }
8
9
  @to = []
9
- (data['to'] || []).each do |i| @to << Mailosaur::Models::MessageAddress.new(i) end
10
+ (data['to'] || []).each { |i| @to << Mailosaur::Models::MessageAddress.new(i) }
10
11
  @cc = []
11
- (data['cc'] || []).each do |i| @cc << Mailosaur::Models::MessageAddress.new(i) end
12
+ (data['cc'] || []).each { |i| @cc << Mailosaur::Models::MessageAddress.new(i) }
12
13
  @bcc = []
13
- (data['bcc'] || []).each do |i| @bcc << Mailosaur::Models::MessageAddress.new(i) end
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 do |i| @attachments << Mailosaur::Models::Attachment.new(i) end
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 do |i| @from << Mailosaur::Models::MessageAddress.new(i) end
9
+ (data['from'] || []).each { |i| @from << Mailosaur::Models::MessageAddress.new(i) }
9
10
  @to = []
10
- (data['to'] || []).each do |i| @to << Mailosaur::Models::MessageAddress.new(i) end
11
+ (data['to'] || []).each { |i| @to << Mailosaur::Models::MessageAddress.new(i) }
11
12
  @cc = []
12
- (data['cc'] || []).each do |i| @cc << Mailosaur::Models::MessageAddress.new(i) end
13
+ (data['cc'] || []).each { |i| @cc << Mailosaur::Models::MessageAddress.new(i) }
13
14
  @bcc = []
14
- (data['bcc'] || []).each do |i| @bcc << Mailosaur::Models::MessageAddress.new(i) end
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
 
@@ -1,3 +1,3 @@
1
1
  module Mailosaur
2
- VERSION = '7.11.0'.freeze
2
+ VERSION = '7.12.0'.freeze
3
3
  end
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.11.0
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-09-06 00:00:00.000000000 Z
11
+ date: 2022-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday