mailosaur 7.12.0 → 7.13.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: 2638a9fd82a043fbca71f70ecd4b044140c89d047c887115e066ed5835fa13a7
4
- data.tar.gz: 78056da25a3d202acc63a0e58f46964f0e99c88d48f7e486414bcfd8b5aea18c
3
+ metadata.gz: 0c417909e984bf0a87b874005ad64189ad558f7d84c684fb611f67acbb65e4c0
4
+ data.tar.gz: 14b33b02313b33441b8b81a38b20a076a4f4d4f3cf9d75c10bf647e19e7f9225
5
5
  SHA512:
6
- metadata.gz: 3ecf79eea4f2797c59bc248f42f20dc89e06abc758c4498a510dfaea7b8741ba14d94267efc561bdbfba701418470ce03a5d2c4eef7d4e177eb43e0a74d1a915
7
- data.tar.gz: 369d254a0d4fe8a1c89b39f3891ac199fe0683f15ec91cc4c79a3738afa2b6b3a49c441c1ca9b1278d9bea4b38de2c5d3ed89c55abf293dbc9900abf3833b57a
6
+ metadata.gz: f3ee70bc3325a97b85affc84f2ed0e72ed6e7ec02bb684fed6894d88ad4a4b74b46e593ac07b6a6ba6e3a1458ef76576cfb715096c04f971a0c2c45a336bf355
7
+ data.tar.gz: e35f4d3da9895285738241c72f8aa0b40b7da76ed298f83cae7a007222386ec20bdaee136f4c3658f94823786568dc553db05418f8a4da56627fb14bb8412290
@@ -43,5 +43,21 @@ module Mailosaur
43
43
  @handle_http_error.call(response) unless response.status == 200
44
44
  response.body
45
45
  end
46
+
47
+ #
48
+ # Download an email preview
49
+ #
50
+ # Downloads a screenshot of your email rendered in a real email client. Simply supply
51
+ # the unique identifier for the required preview.
52
+ #
53
+ # @param id The identifier of the email preview to be downloaded.
54
+ #
55
+ # @return [NOT_IMPLEMENTED] operation results.
56
+ #
57
+ def get_preview(id)
58
+ response = conn.get "api/files/previews/#{id}"
59
+ @handle_http_error.call(response) unless response.status == 200
60
+ response.body
61
+ end
46
62
  end
47
63
  end
@@ -234,5 +234,22 @@ module Mailosaur
234
234
  model = JSON.parse(response.body)
235
235
  Mailosaur::Models::Message.new(model)
236
236
  end
237
+
238
+ #
239
+ # Generate email previews.
240
+ #
241
+ # Generates screenshots of an email rendered in the specified email clients.
242
+ #
243
+ # @param id [String] The identifier of the email to preview.
244
+ # @param options [PreviewRequestOptions] The options with which to generate previews.
245
+ #
246
+ # @return [PreviewListResult] operation result.
247
+ #
248
+ def generate_previews(id, options)
249
+ response = conn.post "api/messages/#{id}/previews", options.to_json
250
+ @handle_http_error.call(response) unless response.status == 200
251
+ model = JSON.parse(response.body)
252
+ Mailosaur::Models::PreviewListResult.new(model)
253
+ end
237
254
  end
238
255
  end
@@ -0,0 +1,20 @@
1
+ module Mailosaur
2
+ module Models
3
+ class Preview < BaseModel
4
+ def initialize(data = {})
5
+ @id = data['id']
6
+ @email_client = data['emailClient']
7
+ @disable_images = data['disableImages']
8
+ end
9
+
10
+ # @return [String] Unique identifier for the email preview.
11
+ attr_accessor :id
12
+
13
+ # @return [String] The email client the preview was generated with.
14
+ attr_accessor :email_client
15
+
16
+ # @return [Boolean] True if images were disabled in the preview.
17
+ attr_accessor :disable_images
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,36 @@
1
+ module Mailosaur
2
+ module Models
3
+ class PreviewEmailClient < BaseModel
4
+ def initialize(data = {})
5
+ @id = data['id']
6
+ @name = data['id']
7
+ @platform_group = data['id']
8
+ @platform_type = data['id']
9
+ @platform_version = data['id']
10
+ @can_disable_images = data['canDisableImages']
11
+ @status = data['status']
12
+ end
13
+
14
+ # @return [String] Unique identifier for the email preview.
15
+ attr_accessor :id
16
+
17
+ # @return [String] The display name of the email client.
18
+ attr_accessor :name
19
+
20
+ # @return [String] Whether the platform is desktop, mobile, or web-based.
21
+ attr_accessor :platform_group
22
+
23
+ # @return [String] The type of platform on which the email client is running.
24
+ attr_accessor :platform_type
25
+
26
+ # @return [String] The platform version number.
27
+ attr_accessor :platform_version
28
+
29
+ # @return [Boolean] If true, images can be disabled when generating previews.
30
+ attr_accessor :can_disable_images
31
+
32
+ # @return [String] The current status of the email client.
33
+ attr_accessor :status
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,14 @@
1
+ module Mailosaur
2
+ module Models
3
+ class PreviewEmailClientListResult < BaseModel
4
+ def initialize(data = {})
5
+ @items = []
6
+ (data['items'] || []).each { |i| @items << Mailosaur::Models::PreviewEmailClient.new(i) }
7
+ end
8
+
9
+ # @return [Array<PreviewEmailClient>] A list of available email clients with which to generate email previews.
10
+ # A list of available email clients.
11
+ attr_accessor :items
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Mailosaur
2
+ module Models
3
+ class PreviewListResult < BaseModel
4
+ def initialize(data = {})
5
+ @items = []
6
+ (data['items'] || []).each { |i| @items << Mailosaur::Models::Preview.new(i) }
7
+ end
8
+
9
+ # @return [Array<Preview>] A list of requested email previews.
10
+ # The summaries for each requested preview.
11
+ attr_accessor :items
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ module Mailosaur
2
+ module Models
3
+ class PreviewRequest < BaseModel
4
+ def initialize(email_client, disable_images: false)
5
+ @email_client = email_client
6
+ @disable_images = disable_images
7
+ end
8
+
9
+ # @return [String] The email client the preview was generated with.
10
+ attr_accessor :email_client
11
+
12
+ # @return [Boolean] True if images were disabled in the preview.
13
+ attr_accessor :disable_images
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module Mailosaur
2
+ module Models
3
+ class PreviewRequestOptions < BaseModel
4
+ def initialize(previews)
5
+ @previews = previews
6
+ end
7
+
8
+ # @return [PreviewRequest] The list of email preview requests.
9
+ attr_accessor :previews
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,29 @@
1
+ module Mailosaur
2
+ class Previews
3
+ #
4
+ # Creates and initializes a new instance of the Previews class.
5
+ # @param client connection.
6
+ #
7
+ def initialize(conn, handle_http_error)
8
+ @conn = conn
9
+ @handle_http_error = handle_http_error
10
+ end
11
+
12
+ # @return [Connection] the client connection.
13
+ attr_reader :conn
14
+
15
+ #
16
+ # List all email clients that can be used to generate email previews.
17
+ #
18
+ # Returns a list of available email clients.
19
+ #
20
+ # @return [PreviewEmailClientListResult] operation results.
21
+ #
22
+ def list_email_clients
23
+ response = conn.get 'api/previews/clients'
24
+ @handle_http_error.call(response) unless response.status == 200
25
+ model = JSON.parse(response.body)
26
+ Mailosaur::Models::PreviewEmailClientListResult.new(model)
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  module Mailosaur
2
- VERSION = '7.12.0'.freeze
2
+ VERSION = '7.13.0'.freeze
3
3
  end
data/lib/mailosaur.rb CHANGED
@@ -15,6 +15,7 @@ module Mailosaur
15
15
  autoload :Servers, 'Mailosaur/servers.rb'
16
16
  autoload :Usage, 'Mailosaur/usage.rb'
17
17
  autoload :Devices, 'Mailosaur/devices.rb'
18
+ autoload :Previews, 'Mailosaur/previews.rb'
18
19
  autoload :MailosaurError, 'Mailosaur/mailosaur_error.rb'
19
20
 
20
21
  module Models
@@ -47,6 +48,12 @@ module Mailosaur
47
48
  autoload :DeviceListResult, 'Mailosaur/models/device_list_result.rb'
48
49
  autoload :DeviceCreateOptions, 'Mailosaur/models/device_create_options.rb'
49
50
  autoload :OtpResult, 'Mailosaur/models/otp_result.rb'
51
+ autoload :Preview, 'Mailosaur/models/preview.rb'
52
+ autoload :PreviewEmailClient, 'Mailosaur/models/preview_email_client.rb'
53
+ autoload :PreviewEmailClientListResult, 'Mailosaur/models/preview_email_client_list_result.rb'
54
+ autoload :PreviewListResult, 'Mailosaur/models/preview_list_result.rb'
55
+ autoload :PreviewRequest, 'Mailosaur/models/preview_request.rb'
56
+ autoload :PreviewRequestOptions, 'Mailosaur/models/preview_request_options.rb'
50
57
  autoload :BaseModel, 'Mailosaur/models/base_model.rb'
51
58
  end
52
59
 
@@ -86,11 +93,16 @@ module Mailosaur
86
93
  @usage ||= Usage.new(connection, method(:handle_http_error))
87
94
  end
88
95
 
89
- # @return [Devices] usage
96
+ # @return [Devices] devices
90
97
  def devices
91
98
  @devices ||= Devices.new(connection, method(:handle_http_error))
92
99
  end
93
100
 
101
+ # @return [Previews] previews
102
+ def previews
103
+ @previews ||= Previews.new(connection, method(:handle_http_error))
104
+ end
105
+
94
106
  private
95
107
 
96
108
  def connection
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.12.0
4
+ version: 7.13.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-10-13 00:00:00.000000000 Z
11
+ date: 2023-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -56,20 +56,14 @@ dependencies:
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '2.7'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 2.7.1
59
+ version: '2.8'
63
60
  type: :development
64
61
  prerelease: false
65
62
  version_requirements: !ruby/object:Gem::Requirement
66
63
  requirements:
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
- version: '2.7'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 2.7.1
66
+ version: '2.8'
73
67
  - !ruby/object:Gem::Dependency
74
68
  name: rake
75
69
  requirement: !ruby/object:Gem::Requirement
@@ -171,6 +165,12 @@ files:
171
165
  - lib/Mailosaur/models/message_summary.rb
172
166
  - lib/Mailosaur/models/metadata.rb
173
167
  - lib/Mailosaur/models/otp_result.rb
168
+ - lib/Mailosaur/models/preview.rb
169
+ - lib/Mailosaur/models/preview_email_client.rb
170
+ - lib/Mailosaur/models/preview_email_client_list_result.rb
171
+ - lib/Mailosaur/models/preview_list_result.rb
172
+ - lib/Mailosaur/models/preview_request.rb
173
+ - lib/Mailosaur/models/preview_request_options.rb
174
174
  - lib/Mailosaur/models/search_criteria.rb
175
175
  - lib/Mailosaur/models/server.rb
176
176
  - lib/Mailosaur/models/server_create_options.rb
@@ -183,6 +183,7 @@ files:
183
183
  - lib/Mailosaur/models/usage_transaction.rb
184
184
  - lib/Mailosaur/models/usage_transaction_list_result.rb
185
185
  - lib/Mailosaur/module_definition.rb
186
+ - lib/Mailosaur/previews.rb
186
187
  - lib/Mailosaur/servers.rb
187
188
  - lib/Mailosaur/usage.rb
188
189
  - lib/Mailosaur/version.rb
@@ -211,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
212
  - !ruby/object:Gem::Version
212
213
  version: '0'
213
214
  requirements: []
214
- rubygems_version: 3.3.7
215
+ rubygems_version: 3.3.26
215
216
  signing_key:
216
217
  specification_version: 4
217
218
  summary: The Mailosaur Ruby library