mailosaur 6.0.0 → 6.0.1
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/README.md +9 -0
- data/lib/Mailosaur/analysis.rb +0 -1
- data/lib/Mailosaur/files.rb +0 -1
- data/lib/Mailosaur/messages.rb +11 -19
- data/lib/Mailosaur/models/base_model.rb +2 -2
- data/lib/Mailosaur/servers.rb +1 -2
- data/lib/Mailosaur/version.rb +1 -1
- data/lib/mailosaur.rb +3 -3
- metadata +51 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aac97d5c2ae2635b48b73c675fa343d12e1048360d61fe3f89306bd934fe6c9d
|
4
|
+
data.tar.gz: a75707fa35b710fa3821104869d703e719795bda7a6fe4ed78cb72af6568f171
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71d83efaa73bfa3ea131aa1538381ffe252c7c16cd6ddd3816926b1ade5fb3346c985c9f62964ddd9c87308e5d1beed3602049f6e968bda7cc2b6bc63fd31f63
|
7
|
+
data.tar.gz: 9c44bbc6f312cac44669240d04c034e3275719592c3fdd239e03587949fbd2afc5895870dcffde396ca909ca56523661ba4e9102109a159579475745638a4d84
|
data/README.md
CHANGED
@@ -27,6 +27,15 @@ export MAILOSAUR_SERVER=server_id
|
|
27
27
|
bundle exec rake test
|
28
28
|
```
|
29
29
|
|
30
|
+
## Linting code
|
31
|
+
|
32
|
+
Simply run Rubocop:
|
33
|
+
|
34
|
+
```
|
35
|
+
bundle install
|
36
|
+
bundle exec rubocop
|
37
|
+
```
|
38
|
+
|
30
39
|
## Contacting us
|
31
40
|
|
32
41
|
You can get us at [support@mailosaur.com](mailto:support@mailosaur.com)
|
data/lib/Mailosaur/analysis.rb
CHANGED
data/lib/Mailosaur/files.rb
CHANGED
data/lib/Mailosaur/messages.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module Mailosaur
|
2
2
|
class Messages
|
3
|
-
|
4
3
|
#
|
5
4
|
# Creates and initializes a new instance of the Messages class.
|
6
5
|
# @param client connection.
|
@@ -28,16 +27,13 @@ module Mailosaur
|
|
28
27
|
#
|
29
28
|
# @return [Message] operation results.
|
30
29
|
#
|
31
|
-
def get(server, criteria, timeout:
|
30
|
+
def get(server, criteria, timeout: 10_000, received_after: DateTime.now - (1.0 / 24))
|
32
31
|
# Defaults timeout to 10s, receivedAfter to 1h
|
33
|
-
if server.length > 8
|
34
|
-
raise Mailosaur::MailosaurError.new('Use get_by_id to retrieve a message using its identifier', nil)
|
35
|
-
end
|
32
|
+
raise Mailosaur::MailosaurError.new('Use get_by_id to retrieve a message using its identifier', nil) if server.length > 8
|
36
33
|
|
37
|
-
result = search(server, criteria, timeout:timeout, received_after:received_after)
|
38
|
-
|
34
|
+
result = search(server, criteria, timeout: timeout, received_after: received_after)
|
35
|
+
get_by_id(result.items[0].id)
|
39
36
|
end
|
40
|
-
|
41
37
|
|
42
38
|
#
|
43
39
|
# Retrieve a message
|
@@ -97,7 +93,7 @@ module Mailosaur
|
|
97
93
|
#
|
98
94
|
# @return [MessageListResult] operation results.
|
99
95
|
#
|
100
|
-
def list(server, page:nil, items_per_page:nil)
|
96
|
+
def list(server, page: nil, items_per_page: nil)
|
101
97
|
url = 'api/messages?server=' + server
|
102
98
|
url += page ? '&page=' + page : ''
|
103
99
|
url += items_per_page ? '&itemsPerPage=' + items_per_page : ''
|
@@ -155,7 +151,7 @@ module Mailosaur
|
|
155
151
|
#
|
156
152
|
# @return [MessageListResult] operation results.
|
157
153
|
#
|
158
|
-
def search(server, criteria, page:nil, items_per_page:nil, timeout:nil, received_after:nil)
|
154
|
+
def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil) # rubocop:disable all
|
159
155
|
url = 'api/messages/search?server=' + server
|
160
156
|
url += page ? '&page=' + page.to_s : ''
|
161
157
|
url += items_per_page ? '&itemsPerPage=' + items_per_page.to_s : ''
|
@@ -169,20 +165,16 @@ module Mailosaur
|
|
169
165
|
|
170
166
|
unless response.status == 200
|
171
167
|
error_model = JSON.load(response.body)
|
172
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
168
|
+
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model) # rubocop:disable Metrics/LineLength
|
173
169
|
raise mailosaur_error
|
174
170
|
end
|
175
171
|
|
176
172
|
model = JSON.load(response.body)
|
177
|
-
if timeout.to_i
|
178
|
-
return Mailosaur::Models::MessageListResult.new(model)
|
179
|
-
end
|
173
|
+
return Mailosaur::Models::MessageListResult.new(model) if timeout.to_i.zero? || !model['items'].empty?
|
180
174
|
|
181
|
-
delay_pattern = (response.headers['x-ms-delay'] || '1000').split(',').map
|
175
|
+
delay_pattern = (response.headers['x-ms-delay'] || '1000').split(',').map(&:to_i)
|
182
176
|
|
183
|
-
delay = poll_count >= delay_pattern.length ?
|
184
|
-
delay_pattern[delay_pattern.length - 1] :
|
185
|
-
delay_pattern[poll_count]
|
177
|
+
delay = poll_count >= delay_pattern.length ? delay_pattern[delay_pattern.length - 1] : delay_pattern[poll_count]
|
186
178
|
|
187
179
|
poll_count += 1
|
188
180
|
|
@@ -191,7 +183,7 @@ module Mailosaur
|
|
191
183
|
raise Mailosaur::MailosaurError.new('No matching messages were found in time', nil)
|
192
184
|
end
|
193
185
|
|
194
|
-
sleep
|
186
|
+
sleep(delay / 1000)
|
195
187
|
end
|
196
188
|
end
|
197
189
|
end
|
@@ -3,10 +3,10 @@ module Mailosaur
|
|
3
3
|
class BaseModel
|
4
4
|
def to_json
|
5
5
|
hash = {}
|
6
|
-
|
6
|
+
instance_variables.each do |var|
|
7
7
|
key = var.to_s.delete('@').split('_').collect(&:capitalize).join
|
8
8
|
key = key[0].downcase + key[1..-1]
|
9
|
-
hash[key] =
|
9
|
+
hash[key] = instance_variable_get var
|
10
10
|
end
|
11
11
|
hash.to_json
|
12
12
|
end
|
data/lib/Mailosaur/servers.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module Mailosaur
|
2
2
|
class Servers
|
3
|
-
|
4
3
|
#
|
5
4
|
# Creates and initializes a new instance of the Servers class.
|
6
5
|
# @param client connection.
|
@@ -20,7 +19,7 @@ module Mailosaur
|
|
20
19
|
#
|
21
20
|
# @return [ServerListResult] operation results.
|
22
21
|
#
|
23
|
-
def list
|
22
|
+
def list
|
24
23
|
response = conn.get 'api/servers'
|
25
24
|
|
26
25
|
unless response.status == 200
|
data/lib/Mailosaur/version.rb
CHANGED
data/lib/mailosaur.rb
CHANGED
@@ -57,9 +57,9 @@ module Mailosaur
|
|
57
57
|
#
|
58
58
|
def initialize(api_key, base_url)
|
59
59
|
conn = Faraday.new(base_url || 'https://mailosaur.com/', {
|
60
|
-
:
|
61
|
-
:
|
62
|
-
:
|
60
|
+
headers: {
|
61
|
+
content_type: 'application/json; charset=utf-8',
|
62
|
+
user_agent: 'mailosaur-ruby/' + Mailosaur::VERSION
|
63
63
|
}
|
64
64
|
})
|
65
65
|
|
metadata
CHANGED
@@ -1,95 +1,109 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailosaur
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mailosaur Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.7.5
|
20
17
|
- - "<="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
19
|
+
version: '1.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.9.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.7.5
|
30
27
|
- - "<="
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: faraday
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
29
|
+
version: '1.0'
|
37
30
|
- - ">="
|
38
31
|
- !ruby/object:Gem::Version
|
39
32
|
version: 0.9.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: json
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
40
37
|
- - "<="
|
41
38
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
39
|
+
version: '3.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.7.5
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 0.9.0
|
50
47
|
- - "<="
|
51
48
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
49
|
+
version: '3.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.7.5
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
54
|
+
name: mail
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - ">="
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 10.5.0
|
60
57
|
- - "~>"
|
61
58
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
59
|
+
version: '2.6'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.6.1
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 10.5.0
|
70
67
|
- - "~>"
|
71
68
|
- !ruby/object:Gem::Version
|
72
|
-
version: '
|
69
|
+
version: '2.6'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 2.6.1
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
74
|
+
name: rake
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
79
|
+
version: '12.3'
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 12.3.0
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '12.3'
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
92
|
+
version: 12.3.0
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: rubocop
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.65.0
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.65.0
|
93
107
|
- !ruby/object:Gem::Dependency
|
94
108
|
name: shoulda-context
|
95
109
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,14 +191,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
191
|
requirements:
|
178
192
|
- - ">="
|
179
193
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
194
|
+
version: '2.2'
|
181
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
196
|
requirements:
|
183
197
|
- - ">="
|
184
198
|
- !ruby/object:Gem::Version
|
185
199
|
version: '0'
|
186
200
|
requirements: []
|
187
|
-
|
201
|
+
rubyforge_project:
|
202
|
+
rubygems_version: 2.7.7
|
188
203
|
signing_key:
|
189
204
|
specification_version: 4
|
190
205
|
summary: Ruby client library for Mailosaur
|