mailosaur 7.12.0 → 7.13.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 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