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 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