mailosaur 6.0.0 → 6.0.6

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: ec06119b13b80148c1afc565e3aa3645d3784c2aec0772da7d2d43443b37cc18
4
- data.tar.gz: d2fc23557ffab91c12b3bad70942212395f0d16beaf00feecf5f8914a8d77635
3
+ metadata.gz: 93384f72178b70f3cbf990d30be7d7110ede5b6e81338486d019b041d10b829c
4
+ data.tar.gz: 5b7342050cd44184dab1ffdf453c7eac88c12ccfae420dccab9f19b29aca66f7
5
5
  SHA512:
6
- metadata.gz: 8c1212d6c8b230bb1944cd8066fd3498278206ddaae60c44844fc531ec11ddf9a6b800a34ce55403190f0fe873b51ffe30925904e4d7dd580ed7854ea18c2cf7
7
- data.tar.gz: 6497b4bb404036491fe89bb5a3fb1e2c6ea81ae8e339e0ed986c69c0286a3852ffd535e97446c95a7ee765481782693c7d5a7ab69a78fb1f4b7a89400f516bca
6
+ metadata.gz: 57d70f504d3b930d4d017a82c6de18cb89d6b9518219a9c5fb3b3cde1ab386f082977aba014ef698afb0052d07a79305738c9b531afcb8c0ad37acb711945ac5
7
+ data.tar.gz: ce5fc8101e3eff75a329c775fafe54b9615f81a928fde391e8932129ade0f90023c8352551f616e612c06d4b7f661a48e4ec940cc3de6b570ce97ce075ceac77
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [Mailosaur](https://mailosaur.com) allows you to automate tests involving email. Allowing you to perform end-to-end automated and functional email testing.
4
4
 
5
- [![Build Status](https://travis-ci.org/mailosaur/mailosaur-ruby.svg?branch=master)](https://travis-ci.org/mailosaur/mailosaur-ruby)
5
+ [![](https://github.com/mailosaur/mailosaur-ruby/workflows/CI/badge.svg)](https://github.com/mailosaur/mailosaur-ruby/actions)
6
6
 
7
7
  ## Installation
8
8
 
@@ -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)
@@ -1,6 +1,5 @@
1
1
  module Mailosaur
2
2
  class Analysis
3
-
4
3
  #
5
4
  # Creates and initializes a new instance of the Analysis class.
6
5
  # @param conn client connection.
@@ -23,7 +22,7 @@ module Mailosaur
23
22
  #
24
23
  def spam(email)
25
24
  response = conn.get 'api/analysis/spam/' + email
26
-
25
+
27
26
  unless response.status == 200
28
27
  error_model = JSON.load(response.body)
29
28
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -1,6 +1,5 @@
1
1
  module Mailosaur
2
2
  class Files
3
-
4
3
  #
5
4
  # Creates and initializes a new instance of the Files class.
6
5
  # @param client connection.
@@ -24,7 +23,7 @@ module Mailosaur
24
23
  #
25
24
  def get_attachment(id)
26
25
  response = conn.get 'api/files/attachments/' + id
27
-
26
+
28
27
  unless response.status == 200
29
28
  error_model = JSON.load(response.body)
30
29
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -46,7 +45,7 @@ module Mailosaur
46
45
  #
47
46
  def get_email(id)
48
47
  response = conn.get 'api/files/email/' + id
49
-
48
+
50
49
  unless response.status == 200
51
50
  error_model = JSON.load(response.body)
52
51
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -14,10 +14,10 @@ module Mailosaur
14
14
  @model = nil
15
15
 
16
16
  unless error_model.nil?
17
- @type = error_model["type"]
18
- @messages = error_model["messages"]
19
- @model = error_model["model"]
20
- end
17
+ @type = error_model['type']
18
+ @messages = error_model['messages']
19
+ @model = error_model['model']
20
+ end
21
21
  end
22
22
  end
23
23
  end
@@ -1,6 +1,7 @@
1
+ require 'uri'
2
+
1
3
  module Mailosaur
2
4
  class Messages
3
-
4
5
  #
5
6
  # Creates and initializes a new instance of the Messages class.
6
7
  # @param client connection.
@@ -21,23 +22,20 @@ module Mailosaur
21
22
  # @param server [String] The identifier of the server hosting the message.
22
23
  # @param criteria [SearchCriteria] The search criteria to use in order to find
23
24
  # a match.
24
- # @param timeout [Integer] Specify how long to wait for a matching result
25
+ # @param timeout [Integer] Specify how long to wait for a matching result
25
26
  # (in milliseconds).
26
- # @param received_after [DateTime] Limits results to only messages received
27
+ # @param received_after [DateTime] Limits results to only messages received
27
28
  # after this date/time.
28
29
  #
29
30
  # @return [Message] operation results.
30
31
  #
31
- def get(server, criteria, timeout:10000, received_after:DateTime.now - (1.0/24))
32
+ def get(server, criteria, timeout: 10_000, received_after: DateTime.now - (1.0 / 24))
32
33
  # 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
34
+ raise Mailosaur::MailosaurError.new('Use get_by_id to retrieve a message using its identifier', nil) if server.length > 8
36
35
 
37
- result = search(server, criteria, timeout:timeout, received_after:received_after)
38
- return get_by_id(result.items[0].id)
36
+ result = search(server, criteria, timeout: timeout, received_after: received_after)
37
+ get_by_id(result.items[0].id)
39
38
  end
40
-
41
39
 
42
40
  #
43
41
  # Retrieve a message
@@ -51,7 +49,7 @@ module Mailosaur
51
49
  #
52
50
  def get_by_id(id)
53
51
  response = conn.get 'api/messages/' + id
54
-
52
+
55
53
  unless response.status == 200
56
54
  error_model = JSON.load(response.body)
57
55
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -94,16 +92,19 @@ module Mailosaur
94
92
  # pagination.
95
93
  # @param items_per_page [Integer] A limit on the number of results to be
96
94
  # returned per page. Can be set between 1 and 1000 items, the default is 50.
95
+ # @param received_after [DateTime] Limits results to only messages received
96
+ # after this date/time.
97
97
  #
98
98
  # @return [MessageListResult] operation results.
99
99
  #
100
- def list(server, page:nil, items_per_page:nil)
100
+ def list(server, page: nil, items_per_page: nil, received_after: nil)
101
101
  url = 'api/messages?server=' + server
102
102
  url += page ? '&page=' + page : ''
103
103
  url += items_per_page ? '&itemsPerPage=' + items_per_page : ''
104
+ url += received_after ? '&receivedAfter=' + CGI.escape(received_after.iso8601) : ''
104
105
 
105
106
  response = conn.get url
106
-
107
+
107
108
  unless response.status == 200
108
109
  error_model = JSON.load(response.body)
109
110
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -148,42 +149,38 @@ module Mailosaur
148
149
  # pagination.
149
150
  # @param items_per_page [Integer] A limit on the number of results to be
150
151
  # returned per page. Can be set between 1 and 1000 items, the default is 50.
151
- # @param timeout [Integer] Specify how long to wait for a matching result
152
+ # @param timeout [Integer] Specify how long to wait for a matching result
152
153
  # (in milliseconds).
153
- # @param received_after [DateTime] Limits results to only messages received
154
+ # @param received_after [DateTime] Limits results to only messages received
154
155
  # after this date/time.
155
156
  #
156
157
  # @return [MessageListResult] operation results.
157
158
  #
158
- def search(server, criteria, page:nil, items_per_page:nil, timeout:nil, received_after:nil)
159
+ def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil) # rubocop:disable all
159
160
  url = 'api/messages/search?server=' + server
160
161
  url += page ? '&page=' + page.to_s : ''
161
162
  url += items_per_page ? '&itemsPerPage=' + items_per_page.to_s : ''
162
- url += received_after ? '&receivedAfter=' + received_after.iso8601 : ''
163
+ url += received_after ? '&receivedAfter=' + CGI.escape(received_after.iso8601) : ''
163
164
 
164
165
  poll_count = 0
165
166
  start_time = Time.now.to_f
166
167
 
167
- loop do
168
+ loop do
168
169
  response = conn.post url, criteria.to_json
169
-
170
+
170
171
  unless response.status == 200
171
172
  error_model = JSON.load(response.body)
172
- mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
173
+ mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model) # rubocop:disable Metrics/LineLength
173
174
  raise mailosaur_error
174
175
  end
175
176
 
176
177
  model = JSON.load(response.body)
177
- if timeout.to_i == 0 || model['items'].length != 0
178
- return Mailosaur::Models::MessageListResult.new(model)
179
- end
178
+ return Mailosaur::Models::MessageListResult.new(model) if timeout.to_i.zero? || !model['items'].empty?
179
+
180
+ delay_pattern = (response.headers['x-ms-delay'] || '1000').split(',').map(&:to_i)
181
+
182
+ delay = poll_count >= delay_pattern.length ? delay_pattern[delay_pattern.length - 1] : delay_pattern[poll_count]
180
183
 
181
- delay_pattern = (response.headers['x-ms-delay'] || '1000').split(',').map{ |x| x.to_i }
182
-
183
- delay = poll_count >= delay_pattern.length ?
184
- delay_pattern[delay_pattern.length - 1] :
185
- delay_pattern[poll_count]
186
-
187
184
  poll_count += 1
188
185
 
189
186
  ## Stop if timeout will be exceeded
@@ -191,7 +188,7 @@ module Mailosaur
191
188
  raise Mailosaur::MailosaurError.new('No matching messages were found in time', nil)
192
189
  end
193
190
 
194
- sleep (delay / 1000)
191
+ sleep(delay / 1000)
195
192
  end
196
193
  end
197
194
  end
@@ -1,16 +1,15 @@
1
1
  module Mailosaur
2
2
  module Models
3
3
  class BaseModel
4
- def to_json
4
+ def to_json(*_args)
5
5
  hash = {}
6
- self.instance_variables.each do |var|
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] = self.instance_variable_get var
9
+ hash[key] = instance_variable_get var
10
10
  end
11
11
  hash.to_json
12
12
  end
13
13
  end
14
14
  end
15
15
  end
16
-
@@ -5,7 +5,7 @@ module Mailosaur
5
5
  @src = data['src']
6
6
  @alt = data['alt']
7
7
  end
8
-
8
+
9
9
  # @return [String]
10
10
  attr_accessor :src
11
11
 
@@ -4,19 +4,19 @@ module Mailosaur
4
4
  def initialize(data = {})
5
5
  @id = data['id']
6
6
  @from = []
7
- (data['from'] || []).each do | i | @from << Mailosaur::Models::MessageAddress.new(i) end
7
+ (data['from'] || []).each do |i| @from << Mailosaur::Models::MessageAddress.new(i) end
8
8
  @to = []
9
- (data['to'] || []).each do | i | @to << Mailosaur::Models::MessageAddress.new(i) end
9
+ (data['to'] || []).each do |i| @to << Mailosaur::Models::MessageAddress.new(i) end
10
10
  @cc = []
11
- (data['cc'] || []).each do | i | @cc << Mailosaur::Models::MessageAddress.new(i) end
11
+ (data['cc'] || []).each do |i| @cc << Mailosaur::Models::MessageAddress.new(i) end
12
12
  @bcc = []
13
- (data['bcc'] || []).each do | i | @bcc << Mailosaur::Models::MessageAddress.new(i) end
13
+ (data['bcc'] || []).each do |i| @bcc << Mailosaur::Models::MessageAddress.new(i) end
14
14
  @received = DateTime.parse(data['received'])
15
15
  @subject = data['subject']
16
16
  @html = Mailosaur::Models::MessageContent.new(data['html'])
17
17
  @text = Mailosaur::Models::MessageContent.new(data['text'])
18
18
  @attachments = []
19
- (data['attachments'] || []).each do | i | @attachments << Mailosaur::Models::Attachment.new(i) end
19
+ (data['attachments'] || []).each do |i| @attachments << Mailosaur::Models::Attachment.new(i) end
20
20
  @metadata = Mailosaur::Models::Metadata.new(data['metadata'])
21
21
  @server = data['server']
22
22
  end
@@ -3,9 +3,9 @@ module Mailosaur
3
3
  class MessageContent < BaseModel
4
4
  def initialize(data = {})
5
5
  @links = []
6
- (data['links'] || []).each do | i | @links << Mailosaur::Models::Link.new(i) end
6
+ (data['links'] || []).each do |i| @links << Mailosaur::Models::Link.new(i) end
7
7
  @images = []
8
- (data['images'] || []).each do | i | @images << Mailosaur::Models::Image.new(i) end
8
+ (data['images'] || []).each do |i| @images << Mailosaur::Models::Image.new(i) end
9
9
  @body = data['body']
10
10
  end
11
11
 
@@ -3,9 +3,9 @@ module Mailosaur
3
3
  class MessageListResult < BaseModel
4
4
  def initialize(data = {})
5
5
  @items = []
6
- (data['items'] || []).each do | i | @items << Mailosaur::Models::MessageSummary.new(i) end
6
+ (data['items'] || []).each do |i| @items << Mailosaur::Models::MessageSummary.new(i) end
7
7
  end
8
-
8
+
9
9
  # @return [Array<MessageSummary>] The individual summaries of each
10
10
  # message forming the result. Summaries are returned sorted by received
11
11
  # date, with the most recently-received messages appearing first.
@@ -5,19 +5,19 @@ module Mailosaur
5
5
  @id = data['id']
6
6
  @server = data['server']
7
7
  @rcpt = []
8
- (data['rcpt'] || []).each do | i | @rcpt << Mailosaur::Models::MessageAddress.new(i) end
8
+ (data['rcpt'] || []).each do |i| @rcpt << Mailosaur::Models::MessageAddress.new(i) end
9
9
  @from = []
10
- (data['from'] || []).each do | i | @from << Mailosaur::Models::MessageAddress.new(i) end
10
+ (data['from'] || []).each do |i| @from << Mailosaur::Models::MessageAddress.new(i) end
11
11
  @to = []
12
- (data['to'] || []).each do | i | @to << Mailosaur::Models::MessageAddress.new(i) end
12
+ (data['to'] || []).each do |i| @to << Mailosaur::Models::MessageAddress.new(i) end
13
13
  @cc = []
14
- (data['cc'] || []).each do | i | @cc << Mailosaur::Models::MessageAddress.new(i) end
14
+ (data['cc'] || []).each do |i| @cc << Mailosaur::Models::MessageAddress.new(i) end
15
15
  @bcc = []
16
- (data['bcc'] || []).each do | i | @bcc << Mailosaur::Models::MessageAddress.new(i) end
16
+ (data['bcc'] || []).each do |i| @bcc << Mailosaur::Models::MessageAddress.new(i) end
17
17
  @received = DateTime.parse(data['received'])
18
18
  @subject = data['subject']
19
19
  @summary = data['summary']
20
- @attachments = data['attachments']
20
+ @attachments = data['attachments']
21
21
  end
22
22
 
23
23
  # @return
@@ -3,7 +3,7 @@ module Mailosaur
3
3
  class Metadata < BaseModel
4
4
  def initialize(data = {})
5
5
  @headers = []
6
- (data['headers'] || []).each do | i | @headers << Mailosaur::Models::MessageHeader.new(i) end
6
+ (data['headers'] || []).each do |i| @headers << Mailosaur::Models::MessageHeader.new(i) end
7
7
  end
8
8
 
9
9
  # @return [Array<MessageHeader>] Email headers.
@@ -8,7 +8,7 @@ module Mailosaur
8
8
  @users = data['users']
9
9
  @messages = data['messages']
10
10
  @forwarding_rules = []
11
- (data['forwardingRules'] || []).each do | i | @forwarding_rules << Mailosaur::Models::ForwardingRule.new(i) end
11
+ (data['forwardingRules'] || []).each do |i| @forwarding_rules << Mailosaur::Models::ForwardingRule.new(i) end
12
12
  end
13
13
 
14
14
  # @return [String] Unique identifier for the server. Used as username for
@@ -3,7 +3,7 @@ module Mailosaur
3
3
  class ServerListResult < BaseModel
4
4
  def initialize(data = {})
5
5
  @items = []
6
- (data['items'] || []).each do | i | @items << Mailosaur::Models::Server.new(i) end
6
+ (data['items'] || []).each do |i| @items << Mailosaur::Models::Server.new(i) end
7
7
  end
8
8
 
9
9
  # @return [Array<Server>] The individual servers forming the result.
@@ -3,7 +3,7 @@ module Mailosaur
3
3
  class SpamFilterResults < BaseModel
4
4
  def initialize(data = {})
5
5
  @spam_assassin = []
6
- (data['spamAssassin'] || []).each do | i | @spam_assassin << Mailosaur::Models::SpamAssassinRule.new(i) end
6
+ (data['spamAssassin'] || []).each do |i| @spam_assassin << Mailosaur::Models::SpamAssassinRule.new(i) end
7
7
  end
8
8
 
9
9
  # @return [Array<SpamAssassinRule>]
@@ -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,9 +19,9 @@ 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
27
26
  error_model = JSON.load(response.body)
28
27
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -44,7 +43,7 @@ module Mailosaur
44
43
  #
45
44
  def create(server_create_options)
46
45
  response = conn.post 'api/servers', server_create_options.to_json
47
-
46
+
48
47
  unless response.status == 200
49
48
  error_model = JSON.load(response.body)
50
49
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -67,7 +66,7 @@ module Mailosaur
67
66
  #
68
67
  def get(id)
69
68
  response = conn.get 'api/servers/' + id
70
-
69
+
71
70
  unless response.status == 200
72
71
  error_model = JSON.load(response.body)
73
72
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -90,7 +89,7 @@ module Mailosaur
90
89
  #
91
90
  def update(id, server)
92
91
  response = conn.put 'api/servers/' + id, server.to_json
93
-
92
+
94
93
  unless response.status == 200
95
94
  error_model = JSON.load(response.body)
96
95
  mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
@@ -1,3 +1,3 @@
1
1
  module Mailosaur
2
- VERSION = '6.0.0'
2
+ VERSION = '6.0.6'.freeze
3
3
  end
@@ -38,37 +38,45 @@ module Mailosaur
38
38
  end
39
39
 
40
40
  class MailosaurClient
41
+ #
42
+ # Creates initializes a new instance of the MailosaurClient class.
43
+ # @param api_key [String] your Mailosaur API key.
44
+ # @param base_url [String] the base URI of the service.
45
+ #
46
+ def initialize(api_key, base_url = 'https://mailosaur.com/')
47
+ @api_key = api_key
48
+ @base_url = base_url
49
+ end
50
+
41
51
  # @return [Analysis] analysis
42
- attr_reader :analysis
52
+ def analysis
53
+ @analysis ||= Analysis.new(connection)
54
+ end
43
55
 
44
56
  # @return [Files] files
45
- attr_reader :files
57
+ def files
58
+ @files ||= Files.new(connection)
59
+ end
46
60
 
47
61
  # @return [Messages] messages
48
- attr_reader :messages
62
+ def messages
63
+ @messages ||= Messages.new(connection)
64
+ end
49
65
 
50
66
  # @return [Servers] servers
51
- attr_reader :servers
52
-
53
- #
54
- # Creates initializes a new instance of the MailosaurClient class.
55
- # @param api_key [String] your Mailosaur API key.
56
- # @param base_url [String] the base URI of the service.
57
- #
58
- def initialize(api_key, base_url)
59
- conn = Faraday.new(base_url || 'https://mailosaur.com/', {
60
- :headers => {
61
- :content_type => 'application/json; charset=utf-8',
62
- :user_agent => 'mailosaur-ruby/' + Mailosaur::VERSION
63
- }
64
- })
67
+ def servers
68
+ @servers ||= Servers.new(connection)
69
+ end
65
70
 
66
- conn.basic_auth(api_key, '')
71
+ private
67
72
 
68
- @analysis = Analysis.new(conn)
69
- @files = Files.new(conn)
70
- @messages = Messages.new(conn)
71
- @servers = Servers.new(conn)
73
+ def connection
74
+ Faraday.new(@base_url, {
75
+ headers: {
76
+ content_type: 'application/json; charset=utf-8',
77
+ user_agent: 'mailosaur-ruby/' + Mailosaur::VERSION
78
+ }
79
+ }).tap { |conn| conn.basic_auth(@api_key, '') }
72
80
  end
73
81
  end
74
82
  end
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.0
4
+ version: 6.0.6
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-07-17 00:00:00.000000000 Z
11
+ date: 2020-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: json
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.7.5
19
+ version: 0.9.0
20
20
  - - "<="
21
21
  - !ruby/object:Gem::Version
22
- version: '3.0'
22
+ version: '1.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.7.5
29
+ version: 0.9.0
30
30
  - - "<="
31
31
  - !ruby/object:Gem::Version
32
- version: '3.0'
32
+ version: '1.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: faraday
34
+ name: json
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.9.0
39
+ version: 1.7.5
40
40
  - - "<="
41
41
  - !ruby/object:Gem::Version
42
- version: '1.0'
42
+ version: '3.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 0.9.0
49
+ version: 1.7.5
50
50
  - - "<="
51
51
  - !ruby/object:Gem::Version
52
- version: '1.0'
52
+ version: '3.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: mail
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.6'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.6.1
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.6'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 2.6.1
53
73
  - !ruby/object:Gem::Dependency
54
74
  name: rake
55
75
  requirement: !ruby/object:Gem::Requirement
56
76
  requirements:
57
77
  - - ">="
58
78
  - !ruby/object:Gem::Version
59
- version: 10.5.0
79
+ version: 12.3.0
60
80
  - - "~>"
61
81
  - !ruby/object:Gem::Version
62
- version: '10.5'
82
+ version: '12.3'
63
83
  type: :development
64
84
  prerelease: false
65
85
  version_requirements: !ruby/object:Gem::Requirement
66
86
  requirements:
67
87
  - - ">="
68
88
  - !ruby/object:Gem::Version
69
- version: 10.5.0
89
+ version: 12.3.0
70
90
  - - "~>"
71
91
  - !ruby/object:Gem::Version
72
- version: '10.5'
92
+ version: '12.3'
73
93
  - !ruby/object:Gem::Dependency
74
- name: mail
94
+ name: rubocop
75
95
  requirement: !ruby/object:Gem::Requirement
76
96
  requirements:
77
97
  - - "~>"
78
98
  - !ruby/object:Gem::Version
79
- version: '2.6'
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 2.6.1
99
+ version: 0.68.0
83
100
  type: :development
84
101
  prerelease: false
85
102
  version_requirements: !ruby/object:Gem::Requirement
86
103
  requirements:
87
104
  - - "~>"
88
105
  - !ruby/object:Gem::Version
89
- version: '2.6'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 2.6.1
106
+ version: 0.68.0
93
107
  - !ruby/object:Gem::Dependency
94
108
  name: shoulda-context
95
109
  requirement: !ruby/object:Gem::Requirement
@@ -177,14 +191,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - ">="
179
193
  - !ruby/object:Gem::Version
180
- version: '0'
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
- rubygems_version: 3.0.4
201
+ rubygems_version: 3.0.3
188
202
  signing_key:
189
203
  specification_version: 4
190
204
  summary: Ruby client library for Mailosaur