mailosaur 7.8.0 → 7.11.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: eeaf9bb2c4d001d8f0ec173e4fb0fcbe02515cbb2ac1eae04c2f9961811dad2c
4
- data.tar.gz: cdcf3c7bdd32cde468875fac15003169d65a4283b38de7c8970c1f3870a08d8f
3
+ metadata.gz: 6102a62b1dead548c4a915faaa7e5d11fefc16c10850ccee5482c9974ab656df
4
+ data.tar.gz: 9005be36f38c933f9ada0df3312fc23dcffd74c6611d93ef300277ab9c78a0bb
5
5
  SHA512:
6
- metadata.gz: 534cdf190200dcf2b24ef400f598dec13de6466fa347d46c90a967e3c7c45c9ba1ed024da2fd67a9ce0afa3c41e886b6cffe2e3af8c711cb2fe8f2185805efab
7
- data.tar.gz: 16ab4b387df53be279ad409e9d04d479c17db62f43db17b5ed60df256ee28c617b2fa6ed4d22e9df64b8a7b3f26e05e5b8ea02a7f1c97927d745932522296684
6
+ metadata.gz: 43b69b34cae04d096a6c2a7d16275d83b98cd3b9d9a876e6512b4c99ad85eb59c5c4830ca3c3b983e0988037c522e847c7297125175eb5e5240a1aabba857403
7
+ data.tar.gz: f1cf79f34626e7645ac92a8eef78c9b7d535c5c765170318b03cde0e4385a3a5df82a00b71e3019cb2517b4021c0d5fde7ed7dfeaddeb7b289eff491eea2c029
@@ -137,7 +137,7 @@ module Mailosaur
137
137
  #
138
138
  # @return [MessageListResult] operation results.
139
139
  #
140
- def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil, error_on_timeout: true) # rubocop:disable all
140
+ def search(server, criteria, page: nil, items_per_page: nil, timeout: nil, received_after: nil, error_on_timeout: true)
141
141
  url = "api/messages/search?server=#{server}"
142
142
  url += page ? "&page=#{page}" : ''
143
143
  url += items_per_page ? "&itemsPerPage=#{items_per_page}" : ''
@@ -3,6 +3,7 @@ module Mailosaur
3
3
  class MessageCreateOptions < BaseModel
4
4
  def initialize(data = {})
5
5
  @to = data['to']
6
+ @from = data['from']
6
7
  @send = data['send']
7
8
  @subject = data['subject']
8
9
  @text = data['text']
@@ -14,6 +15,11 @@ module Mailosaur
14
15
  # Must be a verified email address.
15
16
  attr_accessor :to
16
17
 
18
+ # @return [String] Allows for the partial override of the message's
19
+ # 'from' address. This **must** be an address ending with
20
+ # `YOUR_SERVER.mailosaur.net`, such as `my-emails@a1bcdef2.mailosaur.net`.
21
+ attr_accessor :from
22
+
17
23
  # @return [Boolean] If true, email will be sent upon creation.
18
24
  attr_accessor :send
19
25
 
@@ -1,3 +1,3 @@
1
1
  module Mailosaur
2
- VERSION = '7.8.0'.freeze
2
+ VERSION = '7.11.0'.freeze
3
3
  end
data/lib/mailosaur.rb CHANGED
@@ -99,19 +99,37 @@ module Mailosaur
99
99
  content_type: 'application/json; charset=utf-8',
100
100
  user_agent: "mailosaur-ruby/#{Mailosaur::VERSION}"
101
101
  }
102
- }).tap { |conn| conn.request(:basic_auth, @api_key, '') }
102
+ }).tap do |conn|
103
+ case Faraday::VERSION
104
+ when /^0/
105
+ conn.basic_auth @api_key, ''
106
+ when /^1/
107
+ conn.request(:basic_auth, @api_key, '')
108
+ else
109
+ conn.request(:authorization, :basic, @api_key, '')
110
+ end
111
+ end
103
112
  end
104
113
 
105
114
  def handle_http_error(response)
115
+ message = ''
106
116
  case response.status
107
117
  when 400
108
- raise Mailosaur::MailosaurError.new('Request had one or more invalid parameters.', 'invalid_request', response.status, response.body)
118
+ begin
119
+ json = JSON.parse(response.body)
120
+ json['errors'].each do |err|
121
+ message += format('(%s) %s\r\n', err['field'], err['detail'][0]['description'])
122
+ end
123
+ rescue StandardError
124
+ message = 'Request had one or more invalid parameters.'
125
+ end
126
+ raise Mailosaur::MailosaurError.new(message, 'invalid_request', response.status, response.body)
109
127
  when 401
110
128
  raise Mailosaur::MailosaurError.new('Authentication failed, check your API key.', 'authentication_error', response.status, response.body)
111
129
  when 403
112
130
  raise Mailosaur::MailosaurError.new('Insufficient permission to perform that task.', 'permission_error', response.status, response.body)
113
131
  when 404
114
- raise Mailosaur::MailosaurError.new('Request did not find any matching resources.', 'invalid_request', response.status, response.body)
132
+ raise Mailosaur::MailosaurError.new('Not found, check input parameters.', 'invalid_request', response.status, response.body)
115
133
  else
116
134
  raise Mailosaur::MailosaurError.new('An API error occurred, see httpResponse for further information.', 'api_error', response.status, response.body)
117
135
  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.8.0
4
+ version: 7.11.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-05-12 00:00:00.000000000 Z
11
+ date: 2022-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '2.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '2'
22
+ version: '3'
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: '0.9'
29
+ version: '2.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '2'
32
+ version: '3'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: json
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -56,20 +56,20 @@ dependencies:
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '2.6'
59
+ version: '2.7'
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 2.6.1
62
+ version: 2.7.1
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '2.6'
69
+ version: '2.7'
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 2.6.1
72
+ version: 2.7.1
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: rake
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -90,54 +90,54 @@ dependencies:
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: 1.19.0
93
+ version: 1.30.0
94
94
  type: :development
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 1.19.0
100
+ version: 1.30.0
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: shoulda-context
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
- version: '1.2'
107
+ version: '2.0'
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 1.2.2
110
+ version: 2.0.0
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '1.2'
117
+ version: '2.0'
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 1.2.2
120
+ version: 2.0.0
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: test-unit
123
123
  requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '3.2'
127
+ version: '3.5'
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 3.2.7
130
+ version: 3.5.3
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '3.2'
137
+ version: '3.5'
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: 3.2.7
140
+ version: 3.5.3
141
141
  description: The Mailosaur Ruby library lets you integrate email and SMS testing into
142
142
  your continuous integration process.
143
143
  email: code@mailosaur.com