mailosaur 6.0.6 → 7.0.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/analysis.rb +3 -8
- data/lib/Mailosaur/files.rb +4 -15
- data/lib/Mailosaur/mailosaur_error.rb +7 -15
- data/lib/Mailosaur/messages.rb +11 -36
- data/lib/Mailosaur/servers.rb +7 -36
- data/lib/Mailosaur/version.rb +1 -1
- data/lib/mailosaur.rb +19 -4
- metadata +32 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ded354d904892b5edb18803695bda97a368a55bcf8bee8f1b3f7cc3d54223a8
|
4
|
+
data.tar.gz: 5e7e2e660129a7c4067d1ef74075f3f1be5e2ca8a78411199acb77b3c6b2352d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2217d5763f88bc5c4d8a5f769ab327c0a31e1e781300a8cff5fb264297568c05e664c4d431359b49cc401e1756b9a52e070d71a87489822da0069aaf3bf8d9c
|
7
|
+
data.tar.gz: a489db754706165b9c1a5637d73bd5fd5ab236c3fdfa81f6fe25e36d534b789425290e1c63d33107c0a79bc177e1eb20ee93101b3ab0dc8a18d7b99a6814b465
|
data/lib/Mailosaur/analysis.rb
CHANGED
@@ -4,8 +4,9 @@ module Mailosaur
|
|
4
4
|
# Creates and initializes a new instance of the Analysis class.
|
5
5
|
# @param conn client connection.
|
6
6
|
#
|
7
|
-
def initialize(conn)
|
7
|
+
def initialize(conn, handle_http_error)
|
8
8
|
@conn = conn
|
9
|
+
@handle_http_error = handle_http_error
|
9
10
|
end
|
10
11
|
|
11
12
|
# @return [Connection] the client connection.
|
@@ -22,13 +23,7 @@ module Mailosaur
|
|
22
23
|
#
|
23
24
|
def spam(email)
|
24
25
|
response = conn.get 'api/analysis/spam/' + email
|
25
|
-
|
26
|
-
unless response.status == 200
|
27
|
-
error_model = JSON.load(response.body)
|
28
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
29
|
-
raise mailosaur_error
|
30
|
-
end
|
31
|
-
|
26
|
+
@handle_http_error.call(response) unless response.status == 200
|
32
27
|
model = JSON.load(response.body)
|
33
28
|
Mailosaur::Models::SpamAnalysisResult.new(model)
|
34
29
|
end
|
data/lib/Mailosaur/files.rb
CHANGED
@@ -4,8 +4,9 @@ module Mailosaur
|
|
4
4
|
# Creates and initializes a new instance of the Files class.
|
5
5
|
# @param client connection.
|
6
6
|
#
|
7
|
-
def initialize(conn)
|
7
|
+
def initialize(conn, handle_http_error)
|
8
8
|
@conn = conn
|
9
|
+
@handle_http_error = handle_http_error
|
9
10
|
end
|
10
11
|
|
11
12
|
# @return [Connection] the client connection.
|
@@ -23,13 +24,7 @@ module Mailosaur
|
|
23
24
|
#
|
24
25
|
def get_attachment(id)
|
25
26
|
response = conn.get 'api/files/attachments/' + id
|
26
|
-
|
27
|
-
unless response.status == 200
|
28
|
-
error_model = JSON.load(response.body)
|
29
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
30
|
-
raise mailosaur_error
|
31
|
-
end
|
32
|
-
|
27
|
+
@handle_http_error.call(response) unless response.status == 200
|
33
28
|
response.body
|
34
29
|
end
|
35
30
|
|
@@ -45,13 +40,7 @@ module Mailosaur
|
|
45
40
|
#
|
46
41
|
def get_email(id)
|
47
42
|
response = conn.get 'api/files/email/' + id
|
48
|
-
|
49
|
-
unless response.status == 200
|
50
|
-
error_model = JSON.load(response.body)
|
51
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
52
|
-
raise mailosaur_error
|
53
|
-
end
|
54
|
-
|
43
|
+
@handle_http_error.call(response) unless response.status == 200
|
55
44
|
response.body
|
56
45
|
end
|
57
46
|
end
|
@@ -1,23 +1,15 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
1
|
module Mailosaur
|
4
2
|
class MailosaurError < StandardError
|
5
|
-
attr_reader :
|
6
|
-
attr_reader :
|
7
|
-
attr_reader :
|
3
|
+
attr_reader :error_type
|
4
|
+
attr_reader :http_status_code
|
5
|
+
attr_reader :http_response_body
|
8
6
|
|
9
|
-
def initialize(message,
|
7
|
+
def initialize(message = '', error_type = '', http_status_code = nil, http_response_body = nil)
|
10
8
|
super(message)
|
11
9
|
|
12
|
-
@
|
13
|
-
@
|
14
|
-
@
|
15
|
-
|
16
|
-
unless error_model.nil?
|
17
|
-
@type = error_model['type']
|
18
|
-
@messages = error_model['messages']
|
19
|
-
@model = error_model['model']
|
20
|
-
end
|
10
|
+
@error_type = error_type
|
11
|
+
@http_status_code = http_status_code
|
12
|
+
@http_response_body = http_response_body
|
21
13
|
end
|
22
14
|
end
|
23
15
|
end
|
data/lib/Mailosaur/messages.rb
CHANGED
@@ -6,8 +6,9 @@ module Mailosaur
|
|
6
6
|
# Creates and initializes a new instance of the Messages class.
|
7
7
|
# @param client connection.
|
8
8
|
#
|
9
|
-
def initialize(conn)
|
9
|
+
def initialize(conn, handle_http_error)
|
10
10
|
@conn = conn
|
11
|
+
@handle_http_error = handle_http_error
|
11
12
|
end
|
12
13
|
|
13
14
|
# @return [Connection] the client connection.
|
@@ -31,7 +32,7 @@ module Mailosaur
|
|
31
32
|
#
|
32
33
|
def get(server, criteria, timeout: 10_000, received_after: DateTime.now - (1.0 / 24))
|
33
34
|
# Defaults timeout to 10s, receivedAfter to 1h
|
34
|
-
raise Mailosaur::MailosaurError.new('
|
35
|
+
raise Mailosaur::MailosaurError.new('Must provide a valid Server ID.', 'invalid_request') if server.length != 8
|
35
36
|
|
36
37
|
result = search(server, criteria, timeout: timeout, received_after: received_after)
|
37
38
|
get_by_id(result.items[0].id)
|
@@ -49,13 +50,7 @@ module Mailosaur
|
|
49
50
|
#
|
50
51
|
def get_by_id(id)
|
51
52
|
response = conn.get 'api/messages/' + id
|
52
|
-
|
53
|
-
unless response.status == 200
|
54
|
-
error_model = JSON.load(response.body)
|
55
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
56
|
-
raise mailosaur_error
|
57
|
-
end
|
58
|
-
|
53
|
+
@handle_http_error.call(response) unless response.status == 200
|
59
54
|
model = JSON.load(response.body)
|
60
55
|
Mailosaur::Models::Message.new(model)
|
61
56
|
end
|
@@ -70,13 +65,7 @@ module Mailosaur
|
|
70
65
|
#
|
71
66
|
def delete(id)
|
72
67
|
response = conn.delete 'api/messages/' + id
|
73
|
-
|
74
|
-
unless response.status == 204
|
75
|
-
error_model = JSON.load(response.body)
|
76
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
77
|
-
raise mailosaur_error
|
78
|
-
end
|
79
|
-
|
68
|
+
@handle_http_error.call(response) unless response.status == 204
|
80
69
|
nil
|
81
70
|
end
|
82
71
|
|
@@ -99,17 +88,13 @@ module Mailosaur
|
|
99
88
|
#
|
100
89
|
def list(server, page: nil, items_per_page: nil, received_after: nil)
|
101
90
|
url = 'api/messages?server=' + server
|
102
|
-
url += page ? '&page=' + page : ''
|
103
|
-
url += items_per_page ? '&itemsPerPage=' + items_per_page : ''
|
91
|
+
url += page ? '&page=' + page.to_s : ''
|
92
|
+
url += items_per_page ? '&itemsPerPage=' + items_per_page.to_s : ''
|
104
93
|
url += received_after ? '&receivedAfter=' + CGI.escape(received_after.iso8601) : ''
|
105
94
|
|
106
95
|
response = conn.get url
|
107
96
|
|
108
|
-
unless response.status == 200
|
109
|
-
error_model = JSON.load(response.body)
|
110
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
111
|
-
raise mailosaur_error
|
112
|
-
end
|
97
|
+
@handle_http_error.call(response) unless response.status == 200
|
113
98
|
|
114
99
|
model = JSON.load(response.body)
|
115
100
|
Mailosaur::Models::MessageListResult.new(model)
|
@@ -125,13 +110,7 @@ module Mailosaur
|
|
125
110
|
#
|
126
111
|
def delete_all(server)
|
127
112
|
response = conn.delete 'api/messages?server=' + server
|
128
|
-
|
129
|
-
unless response.status == 204
|
130
|
-
error_model = JSON.load(response.body)
|
131
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
132
|
-
raise mailosaur_error
|
133
|
-
end
|
134
|
-
|
113
|
+
@handle_http_error.call(response) unless response.status == 204
|
135
114
|
nil
|
136
115
|
end
|
137
116
|
|
@@ -168,11 +147,7 @@ module Mailosaur
|
|
168
147
|
loop do
|
169
148
|
response = conn.post url, criteria.to_json
|
170
149
|
|
171
|
-
unless response.status == 200
|
172
|
-
error_model = JSON.load(response.body)
|
173
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model) # rubocop:disable Metrics/LineLength
|
174
|
-
raise mailosaur_error
|
175
|
-
end
|
150
|
+
@handle_http_error.call(response) unless response.status == 200
|
176
151
|
|
177
152
|
model = JSON.load(response.body)
|
178
153
|
return Mailosaur::Models::MessageListResult.new(model) if timeout.to_i.zero? || !model['items'].empty?
|
@@ -185,7 +160,7 @@ module Mailosaur
|
|
185
160
|
|
186
161
|
## Stop if timeout will be exceeded
|
187
162
|
if ((1000 * (Time.now.to_f - start_time).to_i) + delay) > timeout
|
188
|
-
raise Mailosaur::MailosaurError.new('No matching messages
|
163
|
+
raise Mailosaur::MailosaurError.new('No matching messages found in time. By default, only messages received in the last hour are checked (use receivedAfter to override this).', 'search_timeout')
|
189
164
|
end
|
190
165
|
|
191
166
|
sleep(delay / 1000)
|
data/lib/Mailosaur/servers.rb
CHANGED
@@ -4,8 +4,9 @@ module Mailosaur
|
|
4
4
|
# Creates and initializes a new instance of the Servers class.
|
5
5
|
# @param client connection.
|
6
6
|
#
|
7
|
-
def initialize(conn)
|
7
|
+
def initialize(conn, handle_http_error)
|
8
8
|
@conn = conn
|
9
|
+
@handle_http_error = handle_http_error
|
9
10
|
end
|
10
11
|
|
11
12
|
# @return [Connection] the client connection.
|
@@ -21,13 +22,7 @@ module Mailosaur
|
|
21
22
|
#
|
22
23
|
def list
|
23
24
|
response = conn.get 'api/servers'
|
24
|
-
|
25
|
-
unless response.status == 200
|
26
|
-
error_model = JSON.load(response.body)
|
27
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
28
|
-
raise mailosaur_error
|
29
|
-
end
|
30
|
-
|
25
|
+
@handle_http_error.call(response) unless response.status == 200
|
31
26
|
model = JSON.load(response.body)
|
32
27
|
Mailosaur::Models::ServerListResult.new(model)
|
33
28
|
end
|
@@ -43,13 +38,7 @@ module Mailosaur
|
|
43
38
|
#
|
44
39
|
def create(server_create_options)
|
45
40
|
response = conn.post 'api/servers', server_create_options.to_json
|
46
|
-
|
47
|
-
unless response.status == 200
|
48
|
-
error_model = JSON.load(response.body)
|
49
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
50
|
-
raise mailosaur_error
|
51
|
-
end
|
52
|
-
|
41
|
+
@handle_http_error.call(response) unless response.status == 200
|
53
42
|
model = JSON.load(response.body)
|
54
43
|
Mailosaur::Models::Server.new(model)
|
55
44
|
end
|
@@ -66,13 +55,7 @@ module Mailosaur
|
|
66
55
|
#
|
67
56
|
def get(id)
|
68
57
|
response = conn.get 'api/servers/' + id
|
69
|
-
|
70
|
-
unless response.status == 200
|
71
|
-
error_model = JSON.load(response.body)
|
72
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
73
|
-
raise mailosaur_error
|
74
|
-
end
|
75
|
-
|
58
|
+
@handle_http_error.call(response) unless response.status == 200
|
76
59
|
model = JSON.load(response.body)
|
77
60
|
Mailosaur::Models::Server.new(model)
|
78
61
|
end
|
@@ -89,13 +72,7 @@ module Mailosaur
|
|
89
72
|
#
|
90
73
|
def update(id, server)
|
91
74
|
response = conn.put 'api/servers/' + id, server.to_json
|
92
|
-
|
93
|
-
unless response.status == 200
|
94
|
-
error_model = JSON.load(response.body)
|
95
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
96
|
-
raise mailosaur_error
|
97
|
-
end
|
98
|
-
|
75
|
+
@handle_http_error.call(response) unless response.status == 200
|
99
76
|
model = JSON.load(response.body)
|
100
77
|
Mailosaur::Models::Server.new(model)
|
101
78
|
end
|
@@ -110,13 +87,7 @@ module Mailosaur
|
|
110
87
|
#
|
111
88
|
def delete(id)
|
112
89
|
response = conn.delete 'api/servers/' + id
|
113
|
-
|
114
|
-
unless response.status == 204
|
115
|
-
error_model = JSON.load(response.body)
|
116
|
-
mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
|
117
|
-
raise mailosaur_error
|
118
|
-
end
|
119
|
-
|
90
|
+
@handle_http_error.call(response) unless response.status == 204
|
120
91
|
nil
|
121
92
|
end
|
122
93
|
|
data/lib/Mailosaur/version.rb
CHANGED
data/lib/mailosaur.rb
CHANGED
@@ -50,22 +50,22 @@ module Mailosaur
|
|
50
50
|
|
51
51
|
# @return [Analysis] analysis
|
52
52
|
def analysis
|
53
|
-
@analysis ||= Analysis.new(connection)
|
53
|
+
@analysis ||= Analysis.new(connection, method(:handle_http_error))
|
54
54
|
end
|
55
55
|
|
56
56
|
# @return [Files] files
|
57
57
|
def files
|
58
|
-
@files ||= Files.new(connection)
|
58
|
+
@files ||= Files.new(connection, method(:handle_http_error))
|
59
59
|
end
|
60
60
|
|
61
61
|
# @return [Messages] messages
|
62
62
|
def messages
|
63
|
-
@messages ||= Messages.new(connection)
|
63
|
+
@messages ||= Messages.new(connection, method(:handle_http_error))
|
64
64
|
end
|
65
65
|
|
66
66
|
# @return [Servers] servers
|
67
67
|
def servers
|
68
|
-
@servers ||= Servers.new(connection)
|
68
|
+
@servers ||= Servers.new(connection, method(:handle_http_error))
|
69
69
|
end
|
70
70
|
|
71
71
|
private
|
@@ -78,5 +78,20 @@ module Mailosaur
|
|
78
78
|
}
|
79
79
|
}).tap { |conn| conn.basic_auth(@api_key, '') }
|
80
80
|
end
|
81
|
+
|
82
|
+
def handle_http_error(response)
|
83
|
+
case response.status
|
84
|
+
when 400
|
85
|
+
raise Mailosaur::MailosaurError.new('Request had one or more invalid parameters.', 'invalid_request', response.status, response.body)
|
86
|
+
when 401
|
87
|
+
raise Mailosaur::MailosaurError.new('Authentication failed, check your API key.', 'authentication_error', response.status, response.body)
|
88
|
+
when 403
|
89
|
+
raise Mailosaur::MailosaurError.new('Insufficient permission to perform that task.', 'permission_error', response.status, response.body)
|
90
|
+
when 404
|
91
|
+
raise Mailosaur::MailosaurError.new('Request did not find any matching resources.', 'invalid_request', response.status, response.body)
|
92
|
+
else
|
93
|
+
raise Mailosaur::MailosaurError.new('An API error occurred, see httpResponse for further information.', 'api_error', response.status, response.body)
|
94
|
+
end
|
95
|
+
end
|
81
96
|
end
|
82
97
|
end
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailosaur
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Mailosaur
|
7
|
+
- Mailosaur
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.9.0
|
20
17
|
- - "<="
|
21
18
|
- !ruby/object:Gem::Version
|
22
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: 0.9.0
|
30
27
|
- - "<="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '1.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.9.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: json
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 1.7.5
|
40
37
|
- - "<="
|
41
38
|
- !ruby/object:Gem::Version
|
42
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: 1.7.5
|
50
47
|
- - "<="
|
51
48
|
- !ruby/object:Gem::Version
|
52
49
|
version: '3.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.7.5
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: mail
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,22 +74,22 @@ dependencies:
|
|
74
74
|
name: rake
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: 12.3.0
|
80
77
|
- - "~>"
|
81
78
|
- !ruby/object:Gem::Version
|
82
79
|
version: '12.3'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::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
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 12.3.0
|
90
87
|
- - "~>"
|
91
88
|
- !ruby/object:Gem::Version
|
92
89
|
version: '12.3'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 12.3.0
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rubocop
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,7 +144,8 @@ dependencies:
|
|
144
144
|
- - ">="
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 3.2.7
|
147
|
-
description: Ruby
|
147
|
+
description: The Mailosaur Ruby library lets you integrate email and SMS testing into
|
148
|
+
your continuous integration process.
|
148
149
|
email: code@mailosaur.com
|
149
150
|
executables: []
|
150
151
|
extensions: []
|
@@ -179,10 +180,15 @@ files:
|
|
179
180
|
- lib/Mailosaur/servers.rb
|
180
181
|
- lib/Mailosaur/version.rb
|
181
182
|
- lib/mailosaur.rb
|
182
|
-
homepage: https://mailosaur.com
|
183
|
+
homepage: https://mailosaur.com/
|
183
184
|
licenses:
|
184
185
|
- MIT
|
185
|
-
metadata:
|
186
|
+
metadata:
|
187
|
+
bug_tracker_uri: https://github.com/mailosaur/mailosaur-ruby/issues
|
188
|
+
documentation_uri: https://mailosaur.com/docs/email-testing/ruby/
|
189
|
+
github_repo: ssh://github.com/mailosaur/mailosaur-ruby
|
190
|
+
homepage_uri: https://mailosaur.com/
|
191
|
+
source_code_uri: https://github.com/mailosaur/mailosaur-ruby
|
186
192
|
post_install_message:
|
187
193
|
rdoc_options: []
|
188
194
|
require_paths:
|
@@ -198,8 +204,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
204
|
- !ruby/object:Gem::Version
|
199
205
|
version: '0'
|
200
206
|
requirements: []
|
201
|
-
rubygems_version: 3.
|
207
|
+
rubygems_version: 3.1.2
|
202
208
|
signing_key:
|
203
209
|
specification_version: 4
|
204
|
-
summary: Ruby
|
210
|
+
summary: The Mailosaur Ruby library
|
205
211
|
test_files: []
|