aspose_slides_cloud 23.9.0 → 23.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -7
- data/README.md +4 -0
- data/aspose_slides_cloud.gemspec +0 -1
- data/docker-entrypoint.sh +1 -0
- data/lib/aspose_slides_cloud/api/slides_async_api.rb +273 -0
- data/lib/aspose_slides_cloud/api_client.rb +2 -1
- data/lib/aspose_slides_cloud/models/operation.rb +209 -0
- data/lib/aspose_slides_cloud/type_registry.rb +1 -0
- data/lib/aspose_slides_cloud/version.rb +1 -1
- data/lib/aspose_slides_cloud.rb +2 -0
- data/spec/api/slides_api_spec.rb +2016 -2016
- data/spec/api/slides_async_api_spec.rb +554 -0
- data/spec/spec_utils.rb +38 -7
- data/spec/use_cases/abstract_class_spec.rb +1 -1
- data/spec/use_cases/animation_spec.rb +28 -28
- data/spec/use_cases/async_api_spec.rb +82 -0
- data/spec/use_cases/chart_spec.rb +51 -51
- data/spec/use_cases/comment_spec.rb +17 -17
- data/spec/use_cases/create_spec.rb +22 -22
- data/spec/use_cases/font_spec.rb +24 -24
- data/spec/use_cases/header_footer_spec.rb +9 -9
- data/spec/use_cases/hyperlink_spec.rb +10 -10
- data/spec/use_cases/image_spec.rb +16 -16
- data/spec/use_cases/layout_slide_spec.rb +41 -41
- data/spec/use_cases/master_slide_spec.rb +40 -40
- data/spec/use_cases/math_spec.rb +15 -15
- data/spec/use_cases/merge_spec.rb +15 -15
- data/spec/use_cases/notes_slide_spec.rb +39 -39
- data/spec/use_cases/nullable_field_spec.rb +7 -7
- data/spec/use_cases/paragraph_spec.rb +38 -38
- data/spec/use_cases/pipeline_spec.rb +1 -1
- data/spec/use_cases/portion_spec.rb +34 -34
- data/spec/use_cases/property_spec.rb +38 -38
- data/spec/use_cases/section_spec.rb +16 -16
- data/spec/use_cases/shape_format_spec.rb +12 -12
- data/spec/use_cases/shape_spec.rb +87 -87
- data/spec/use_cases/slide_spec.rb +32 -32
- data/spec/use_cases/split_spec.rb +12 -12
- data/spec/use_cases/table_spec.rb +38 -38
- data/spec/use_cases/text_format_spec.rb +4 -4
- data/spec/use_cases/text_spec.rb +28 -28
- data/spec/use_cases/vba_spec.rb +10 -10
- data/spec/use_cases/watermark_spec.rb +36 -36
- data/testConfig.json +2 -1
- data/testRules.json +7 -0
- metadata +8 -24
- data/spec/use_cases/convert_spec.rb +0 -199
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34682ffe3b102493761aff274ea1d1a4fa66dab39a1580ec5c8cdd2ebdd5f960
|
4
|
+
data.tar.gz: f9e5f28e25486125947e76b25f369b3cf431fec9b56bd47a0b88c1db730add11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47d210a979348472740898a3eddfffbe932687faefb42e800df63f01e1d39ecbd98386bba50f49843d7d1d40bd7b33d1c0dee1ac37dd1e252149df894b04927c
|
7
|
+
data.tar.gz: 49d6e58274292a16342479c98750a729ce0d90c10b3a3a03ed73c3eaf739708ad94d77b6065e08775232d177d9c37ed5a0ec5718423dc51d4af2c96c33242a09
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
aspose_slides_cloud (23.
|
4
|
+
aspose_slides_cloud (23.10.0)
|
5
5
|
faraday (~> 1.0, >= 1.0.0)
|
6
6
|
faraday-httpclient (~> 1.0, >= 1.0.0)
|
7
7
|
httpclient (~> 2.2, >= 2.2.0)
|
@@ -15,8 +15,6 @@ GEM
|
|
15
15
|
public_suffix (>= 2.0.2, < 6.0)
|
16
16
|
autotest (4.4.6)
|
17
17
|
ZenTest (>= 4.4.1)
|
18
|
-
autotest-fsevent (0.2.20)
|
19
|
-
sys-uname
|
20
18
|
autotest-growl (0.2.16)
|
21
19
|
autotest-rails-pure (4.1.2)
|
22
20
|
crack (0.4.5)
|
@@ -45,7 +43,6 @@ GEM
|
|
45
43
|
faraday-patron (1.0.0)
|
46
44
|
faraday-rack (1.0.0)
|
47
45
|
faraday-retry (1.0.3)
|
48
|
-
ffi (1.16.2)
|
49
46
|
hashdiff (1.0.1)
|
50
47
|
httpclient (2.8.3)
|
51
48
|
json (2.6.3)
|
@@ -70,8 +67,6 @@ GEM
|
|
70
67
|
rspec-core (>= 2, < 4, != 2.12.0)
|
71
68
|
ruby2_keywords (0.0.5)
|
72
69
|
rubyzip (2.3.2)
|
73
|
-
sys-uname (1.2.3)
|
74
|
-
ffi (~> 1.1)
|
75
70
|
vcr (3.0.3)
|
76
71
|
webmock (1.24.6)
|
77
72
|
addressable (>= 2.3.6)
|
@@ -84,7 +79,6 @@ PLATFORMS
|
|
84
79
|
DEPENDENCIES
|
85
80
|
aspose_slides_cloud!
|
86
81
|
autotest (~> 4.4, >= 4.4.6)
|
87
|
-
autotest-fsevent (~> 0.2, >= 0.2.12)
|
88
82
|
autotest-growl (~> 0.2, >= 0.2.16)
|
89
83
|
autotest-rails-pure (~> 4.1, >= 4.1.2)
|
90
84
|
rake (~> 12.3.3)
|
data/README.md
CHANGED
@@ -27,6 +27,10 @@ You may want to check out Aspose free [Powerpoint to PDF](https://products.aspos
|
|
27
27
|
**Web:** HTML/HTML5
|
28
28
|
**Other:** MPEG4, SWF (export whole presentations)
|
29
29
|
|
30
|
+
## Enhancements in Version 23.10
|
31
|
+
|
32
|
+
* Added asynchronous API - **SlidesAsyncApi** class with **StartConvert**, **StartDownloadPresentation**, **GetOperationStatus**, **GetOperationResult** methods that allow tracking progress of conversion operations.
|
33
|
+
|
30
34
|
## Enhancements in Version 23.9
|
31
35
|
|
32
36
|
* Added **ReplaceImage** and **ReplaceImageOnline** methods that enable replacing images in a presentation.
|
data/aspose_slides_cloud.gemspec
CHANGED
@@ -49,7 +49,6 @@ Gem::Specification.new do |s|
|
|
49
49
|
s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
|
50
50
|
s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
|
51
51
|
s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
|
52
|
-
s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.12'
|
53
52
|
s.add_development_dependency 'rubyzip', '~> 2.3', '>= 2.3.0'
|
54
53
|
s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
|
55
54
|
s.test_files = `find spec/*`.split("\n").uniq.sort.select { |f| !f.empty? && f.start_with?("spec") }
|
data/docker-entrypoint.sh
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
sed -i 's~@your_client_id@~'"${CLIENT_ID}"'~g' testConfig.json
|
4
4
|
sed -i 's~@your_client_secret@~'"${CLIENT_SECRET}"'~g' testConfig.json
|
5
5
|
sed -i 's~@base_url@~'"${BASE_URL}"'~g' testConfig.json
|
6
|
+
sed -i 's~@async_base_url@~'"${BASE_ASYNC_URL}"'~g' testConfig.json
|
6
7
|
sed -i 's~@base_auth_url@~'"${BASE_AUTH_URL}"'~g' testConfig.json
|
7
8
|
|
8
9
|
mkdir testResults
|
@@ -0,0 +1,273 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright (c) 2019 Aspose Pty Ltd
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
6
|
+
in the Software without restriction, including without limitation the rights
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
9
|
+
furnished to do so, subject to the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
12
|
+
copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
20
|
+
SOFTWARE.
|
21
|
+
=end
|
22
|
+
|
23
|
+
require 'uri'
|
24
|
+
|
25
|
+
module AsposeSlidesCloud
|
26
|
+
class SlidesAsyncApi
|
27
|
+
attr_accessor :api_client
|
28
|
+
|
29
|
+
def initialize(configuration = Configuration.default)
|
30
|
+
@api_client = AsposeSlidesCloud::ApiClient.new(configuration)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @param id
|
34
|
+
def get_operation_result(id)
|
35
|
+
data, _status_code, _headers = get_operation_result_with_http_info(id)
|
36
|
+
data
|
37
|
+
end
|
38
|
+
|
39
|
+
# @param id
|
40
|
+
def get_operation_result_with_http_info(id)
|
41
|
+
if @api_client.config.debugging
|
42
|
+
@api_client.config.logger.debug 'Calling API: SlidesAsyncApi.get_operation_result ...'
|
43
|
+
end
|
44
|
+
|
45
|
+
# verify the required parameter 'id' is set
|
46
|
+
if @api_client.config.client_side_validation && id.nil?
|
47
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SlidesAsyncApi.get_operation_result"
|
48
|
+
end
|
49
|
+
# resource path
|
50
|
+
local_var_path = '/slides/async/{id}/result'
|
51
|
+
local_var_path = @api_client.replace_path_parameter(local_var_path, 'id', id)
|
52
|
+
|
53
|
+
# query parameters
|
54
|
+
query_params = {}
|
55
|
+
|
56
|
+
# header parameters
|
57
|
+
header_params = {}
|
58
|
+
# HTTP header 'Accept' (if needed)
|
59
|
+
header_params['Accept'] = @api_client.select_header_accept(['multipart/form-data'])
|
60
|
+
# HTTP header 'Content-Type'
|
61
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
62
|
+
|
63
|
+
# http body (model)
|
64
|
+
post_body = nil
|
65
|
+
|
66
|
+
# form parameters
|
67
|
+
post_files = []
|
68
|
+
|
69
|
+
auth_names = ['JWT']
|
70
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
71
|
+
:header_params => header_params,
|
72
|
+
:query_params => query_params,
|
73
|
+
:body => post_body,
|
74
|
+
:files => post_files,
|
75
|
+
:auth_names => auth_names,
|
76
|
+
:return_type => 'File')
|
77
|
+
return data, status_code, headers
|
78
|
+
end
|
79
|
+
# @param id
|
80
|
+
def get_operation_status(id)
|
81
|
+
data, _status_code, _headers = get_operation_status_with_http_info(id)
|
82
|
+
data
|
83
|
+
end
|
84
|
+
|
85
|
+
# @param id
|
86
|
+
def get_operation_status_with_http_info(id)
|
87
|
+
if @api_client.config.debugging
|
88
|
+
@api_client.config.logger.debug 'Calling API: SlidesAsyncApi.get_operation_status ...'
|
89
|
+
end
|
90
|
+
|
91
|
+
# verify the required parameter 'id' is set
|
92
|
+
if @api_client.config.client_side_validation && id.nil?
|
93
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling SlidesAsyncApi.get_operation_status"
|
94
|
+
end
|
95
|
+
# resource path
|
96
|
+
local_var_path = '/slides/async/{id}'
|
97
|
+
local_var_path = @api_client.replace_path_parameter(local_var_path, 'id', id)
|
98
|
+
|
99
|
+
# query parameters
|
100
|
+
query_params = {}
|
101
|
+
|
102
|
+
# header parameters
|
103
|
+
header_params = {}
|
104
|
+
# HTTP header 'Accept' (if needed)
|
105
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
106
|
+
# HTTP header 'Content-Type'
|
107
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
108
|
+
|
109
|
+
# http body (model)
|
110
|
+
post_body = nil
|
111
|
+
|
112
|
+
# form parameters
|
113
|
+
post_files = []
|
114
|
+
|
115
|
+
auth_names = ['JWT']
|
116
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
117
|
+
:header_params => header_params,
|
118
|
+
:query_params => query_params,
|
119
|
+
:body => post_body,
|
120
|
+
:files => post_files,
|
121
|
+
:auth_names => auth_names,
|
122
|
+
:return_type => 'Operation')
|
123
|
+
return data, status_code, headers
|
124
|
+
end
|
125
|
+
# @param document Document data.
|
126
|
+
# @param format
|
127
|
+
# @param password
|
128
|
+
# @param storage
|
129
|
+
# @param fonts_folder
|
130
|
+
# @param slides
|
131
|
+
# @param options
|
132
|
+
def start_convert(document, format, password = nil, storage = nil, fonts_folder = nil, slides = nil, options = nil)
|
133
|
+
data, _status_code, _headers = start_convert_with_http_info(document, format, password, storage, fonts_folder, slides, options)
|
134
|
+
data
|
135
|
+
end
|
136
|
+
|
137
|
+
# @param document Document data.
|
138
|
+
# @param format
|
139
|
+
# @param password
|
140
|
+
# @param storage
|
141
|
+
# @param fonts_folder
|
142
|
+
# @param slides
|
143
|
+
# @param options
|
144
|
+
def start_convert_with_http_info(document, format, password = nil, storage = nil, fonts_folder = nil, slides = nil, options = nil)
|
145
|
+
if @api_client.config.debugging
|
146
|
+
@api_client.config.logger.debug 'Calling API: SlidesAsyncApi.start_convert ...'
|
147
|
+
end
|
148
|
+
|
149
|
+
# verify the required parameter 'document' is set
|
150
|
+
if @api_client.config.client_side_validation && document.nil?
|
151
|
+
fail ArgumentError, "Missing the required parameter 'document' when calling SlidesAsyncApi.start_convert"
|
152
|
+
end
|
153
|
+
# verify the required parameter 'format' is set
|
154
|
+
if @api_client.config.client_side_validation && format.nil?
|
155
|
+
fail ArgumentError, "Missing the required parameter 'format' when calling SlidesAsyncApi.start_convert"
|
156
|
+
end
|
157
|
+
# verify enum value
|
158
|
+
if @api_client.config.client_side_validation && !['Pdf', 'Xps', 'Tiff', 'Pptx', 'Odp', 'Otp', 'Ppt', 'Pps', 'Ppsx', 'Pptm', 'Ppsm', 'Pot', 'Potx', 'Potm', 'Html', 'Html5', 'Swf', 'Svg', 'Jpeg', 'Png', 'Gif', 'Bmp', 'Fodp', 'Xaml', 'Mpeg4'].any?{ |s| s.casecmp(format)==0 }
|
159
|
+
fail ArgumentError, "Invalid value for parameter format: " + format + ". Must be one of Pdf, Xps, Tiff, Pptx, Odp, Otp, Ppt, Pps, Ppsx, Pptm, Ppsm, Pot, Potx, Potm, Html, Html5, Swf, Svg, Jpeg, Png, Gif, Bmp, Fodp, Xaml, Mpeg4"
|
160
|
+
end
|
161
|
+
# resource path
|
162
|
+
local_var_path = '/slides/async/convert/{format}'
|
163
|
+
local_var_path = @api_client.replace_path_parameter(local_var_path, 'format', format)
|
164
|
+
|
165
|
+
# query parameters
|
166
|
+
query_params = {}
|
167
|
+
query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
|
168
|
+
query_params[:'fontsFolder'] = @api_client.prepare_for_query(fonts_folder) unless fonts_folder.nil?
|
169
|
+
query_params[:'slides'] = @api_client.prepare_for_query(slides) unless slides.nil?
|
170
|
+
|
171
|
+
# header parameters
|
172
|
+
header_params = {}
|
173
|
+
# HTTP header 'Accept' (if needed)
|
174
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
175
|
+
# HTTP header 'Content-Type'
|
176
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
|
177
|
+
header_params[:'password'] = password unless password.nil?
|
178
|
+
|
179
|
+
# http body (model)
|
180
|
+
post_body = @api_client.object_to_http_body(options)
|
181
|
+
|
182
|
+
# form parameters
|
183
|
+
post_files = []
|
184
|
+
if document
|
185
|
+
post_files = post_files.push(document)
|
186
|
+
end
|
187
|
+
|
188
|
+
auth_names = ['JWT']
|
189
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
190
|
+
:header_params => header_params,
|
191
|
+
:query_params => query_params,
|
192
|
+
:body => post_body,
|
193
|
+
:files => post_files,
|
194
|
+
:auth_names => auth_names,
|
195
|
+
:return_type => 'String')
|
196
|
+
return data, status_code, headers
|
197
|
+
end
|
198
|
+
# @param name
|
199
|
+
# @param format
|
200
|
+
# @param options
|
201
|
+
# @param password
|
202
|
+
# @param folder
|
203
|
+
# @param storage
|
204
|
+
# @param fonts_folder
|
205
|
+
# @param slides
|
206
|
+
def start_download_presentation(name, format, options = nil, password = nil, folder = nil, storage = nil, fonts_folder = nil, slides = nil)
|
207
|
+
data, _status_code, _headers = start_download_presentation_with_http_info(name, format, options, password, folder, storage, fonts_folder, slides)
|
208
|
+
data
|
209
|
+
end
|
210
|
+
|
211
|
+
# @param name
|
212
|
+
# @param format
|
213
|
+
# @param options
|
214
|
+
# @param password
|
215
|
+
# @param folder
|
216
|
+
# @param storage
|
217
|
+
# @param fonts_folder
|
218
|
+
# @param slides
|
219
|
+
def start_download_presentation_with_http_info(name, format, options = nil, password = nil, folder = nil, storage = nil, fonts_folder = nil, slides = nil)
|
220
|
+
if @api_client.config.debugging
|
221
|
+
@api_client.config.logger.debug 'Calling API: SlidesAsyncApi.start_download_presentation ...'
|
222
|
+
end
|
223
|
+
|
224
|
+
# verify the required parameter 'name' is set
|
225
|
+
if @api_client.config.client_side_validation && name.nil?
|
226
|
+
fail ArgumentError, "Missing the required parameter 'name' when calling SlidesAsyncApi.start_download_presentation"
|
227
|
+
end
|
228
|
+
# verify the required parameter 'format' is set
|
229
|
+
if @api_client.config.client_side_validation && format.nil?
|
230
|
+
fail ArgumentError, "Missing the required parameter 'format' when calling SlidesAsyncApi.start_download_presentation"
|
231
|
+
end
|
232
|
+
# verify enum value
|
233
|
+
if @api_client.config.client_side_validation && !['Pdf', 'Xps', 'Tiff', 'Pptx', 'Odp', 'Otp', 'Ppt', 'Pps', 'Ppsx', 'Pptm', 'Ppsm', 'Pot', 'Potx', 'Potm', 'Html', 'Html5', 'Swf', 'Svg', 'Jpeg', 'Png', 'Gif', 'Bmp', 'Fodp', 'Xaml', 'Mpeg4'].any?{ |s| s.casecmp(format)==0 }
|
234
|
+
fail ArgumentError, "Invalid value for parameter format: " + format + ". Must be one of Pdf, Xps, Tiff, Pptx, Odp, Otp, Ppt, Pps, Ppsx, Pptm, Ppsm, Pot, Potx, Potm, Html, Html5, Swf, Svg, Jpeg, Png, Gif, Bmp, Fodp, Xaml, Mpeg4"
|
235
|
+
end
|
236
|
+
# resource path
|
237
|
+
local_var_path = '/slides/async/{name}/{format}'
|
238
|
+
local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
|
239
|
+
local_var_path = @api_client.replace_path_parameter(local_var_path, 'format', format)
|
240
|
+
|
241
|
+
# query parameters
|
242
|
+
query_params = {}
|
243
|
+
query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
|
244
|
+
query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
|
245
|
+
query_params[:'fontsFolder'] = @api_client.prepare_for_query(fonts_folder) unless fonts_folder.nil?
|
246
|
+
query_params[:'slides'] = @api_client.prepare_for_query(slides) unless slides.nil?
|
247
|
+
|
248
|
+
# header parameters
|
249
|
+
header_params = {}
|
250
|
+
# HTTP header 'Accept' (if needed)
|
251
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
252
|
+
# HTTP header 'Content-Type'
|
253
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
254
|
+
header_params[:'password'] = password unless password.nil?
|
255
|
+
|
256
|
+
# http body (model)
|
257
|
+
post_body = @api_client.object_to_http_body(options)
|
258
|
+
|
259
|
+
# form parameters
|
260
|
+
post_files = []
|
261
|
+
|
262
|
+
auth_names = ['JWT']
|
263
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
264
|
+
:header_params => header_params,
|
265
|
+
:query_params => query_params,
|
266
|
+
:body => post_body,
|
267
|
+
:files => post_files,
|
268
|
+
:auth_names => auth_names,
|
269
|
+
:return_type => 'String')
|
270
|
+
return data, status_code, headers
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
@@ -221,7 +221,8 @@ module AsposeSlidesCloud
|
|
221
221
|
return nil if body.nil? || body.empty?
|
222
222
|
|
223
223
|
# return response body directly for String return type
|
224
|
-
return body if return_type == 'String'
|
224
|
+
return body.delete_prefix('"').delete_suffix('"') if return_type == 'String'
|
225
|
+
return body if return_type == 'File'
|
225
226
|
|
226
227
|
# ensuring a default content type
|
227
228
|
content_type = response.headers['Content-Type'] || 'application/json'
|
@@ -0,0 +1,209 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright (c) 2019 Aspose Pty Ltd
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
6
|
+
in the Software without restriction, including without limitation the rights
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
9
|
+
furnished to do so, subject to the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
12
|
+
copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
20
|
+
SOFTWARE.
|
21
|
+
=end
|
22
|
+
|
23
|
+
require 'date'
|
24
|
+
|
25
|
+
module AsposeSlidesCloud
|
26
|
+
class Operation < BaseObject
|
27
|
+
attr_accessor :id
|
28
|
+
|
29
|
+
attr_accessor :method
|
30
|
+
|
31
|
+
attr_accessor :status
|
32
|
+
|
33
|
+
attr_accessor :created
|
34
|
+
|
35
|
+
attr_accessor :enqueued
|
36
|
+
|
37
|
+
attr_accessor :started
|
38
|
+
|
39
|
+
attr_accessor :failed
|
40
|
+
|
41
|
+
attr_accessor :canceled
|
42
|
+
|
43
|
+
attr_accessor :finished
|
44
|
+
|
45
|
+
attr_accessor :error
|
46
|
+
|
47
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
48
|
+
def self.attribute_map
|
49
|
+
{
|
50
|
+
:'id' => :'Id',
|
51
|
+
:'method' => :'Method',
|
52
|
+
:'status' => :'Status',
|
53
|
+
:'created' => :'Created',
|
54
|
+
:'enqueued' => :'Enqueued',
|
55
|
+
:'started' => :'Started',
|
56
|
+
:'failed' => :'Failed',
|
57
|
+
:'canceled' => :'Canceled',
|
58
|
+
:'finished' => :'Finished',
|
59
|
+
:'error' => :'Error',
|
60
|
+
}
|
61
|
+
end
|
62
|
+
|
63
|
+
# Attribute type mapping.
|
64
|
+
def self.swagger_types
|
65
|
+
{
|
66
|
+
:'id' => :'String',
|
67
|
+
:'method' => :'String',
|
68
|
+
:'status' => :'String',
|
69
|
+
:'created' => :'DateTime',
|
70
|
+
:'enqueued' => :'DateTime',
|
71
|
+
:'started' => :'DateTime',
|
72
|
+
:'failed' => :'DateTime',
|
73
|
+
:'canceled' => :'DateTime',
|
74
|
+
:'finished' => :'DateTime',
|
75
|
+
:'error' => :'String',
|
76
|
+
}
|
77
|
+
end
|
78
|
+
|
79
|
+
# Initializes the object
|
80
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
81
|
+
def initialize(attributes = {})
|
82
|
+
return unless attributes.is_a?(Hash)
|
83
|
+
|
84
|
+
# convert string to symbol for hash key
|
85
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
86
|
+
|
87
|
+
if attributes.has_key?(:'Id')
|
88
|
+
self.id = attributes[:'Id']
|
89
|
+
end
|
90
|
+
|
91
|
+
if attributes.has_key?(:'Method')
|
92
|
+
self.method = attributes[:'Method']
|
93
|
+
end
|
94
|
+
|
95
|
+
if attributes.has_key?(:'Status')
|
96
|
+
self.status = attributes[:'Status']
|
97
|
+
end
|
98
|
+
|
99
|
+
if attributes.has_key?(:'Created')
|
100
|
+
self.created = attributes[:'Created']
|
101
|
+
end
|
102
|
+
|
103
|
+
if attributes.has_key?(:'Enqueued')
|
104
|
+
self.enqueued = attributes[:'Enqueued']
|
105
|
+
end
|
106
|
+
|
107
|
+
if attributes.has_key?(:'Started')
|
108
|
+
self.started = attributes[:'Started']
|
109
|
+
end
|
110
|
+
|
111
|
+
if attributes.has_key?(:'Failed')
|
112
|
+
self.failed = attributes[:'Failed']
|
113
|
+
end
|
114
|
+
|
115
|
+
if attributes.has_key?(:'Canceled')
|
116
|
+
self.canceled = attributes[:'Canceled']
|
117
|
+
end
|
118
|
+
|
119
|
+
if attributes.has_key?(:'Finished')
|
120
|
+
self.finished = attributes[:'Finished']
|
121
|
+
end
|
122
|
+
|
123
|
+
if attributes.has_key?(:'Error')
|
124
|
+
self.error = attributes[:'Error']
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
129
|
+
# @return Array for valid properties with the reasons
|
130
|
+
def list_invalid_properties
|
131
|
+
invalid_properties = Array.new
|
132
|
+
if @id.nil?
|
133
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
134
|
+
end
|
135
|
+
|
136
|
+
if @method.nil?
|
137
|
+
invalid_properties.push('invalid value for "method", method cannot be nil.')
|
138
|
+
end
|
139
|
+
|
140
|
+
if @status.nil?
|
141
|
+
invalid_properties.push('invalid value for "status", status cannot be nil.')
|
142
|
+
end
|
143
|
+
|
144
|
+
invalid_properties
|
145
|
+
end
|
146
|
+
|
147
|
+
# Check to see if the all the properties in the model are valid
|
148
|
+
# @return true if the model is valid
|
149
|
+
def valid?
|
150
|
+
return false if @id.nil?
|
151
|
+
return false if @method.nil?
|
152
|
+
method_validator = EnumAttributeValidator.new('String', ['Convert', 'DownloadPresentation'])
|
153
|
+
return false unless method_validator.valid?(@method)
|
154
|
+
return false if @status.nil?
|
155
|
+
status_validator = EnumAttributeValidator.new('String', ['Created', 'Enqueued', 'Started', 'Failed', 'Canceled', 'Finished'])
|
156
|
+
return false unless status_validator.valid?(@status)
|
157
|
+
true
|
158
|
+
end
|
159
|
+
|
160
|
+
# Custom attribute writer method checking allowed values (enum).
|
161
|
+
# @param [Object] method Object to be assigned
|
162
|
+
def method=(method)
|
163
|
+
validator = EnumAttributeValidator.new('String', ['Convert', 'DownloadPresentation'])
|
164
|
+
unless validator.valid?(method)
|
165
|
+
fail ArgumentError, 'invalid value for "method", must be one of #{validator.allowable_values}.'
|
166
|
+
end
|
167
|
+
@method = method
|
168
|
+
end
|
169
|
+
|
170
|
+
# Custom attribute writer method checking allowed values (enum).
|
171
|
+
# @param [Object] status Object to be assigned
|
172
|
+
def status=(status)
|
173
|
+
validator = EnumAttributeValidator.new('String', ['Created', 'Enqueued', 'Started', 'Failed', 'Canceled', 'Finished'])
|
174
|
+
unless validator.valid?(status)
|
175
|
+
fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
|
176
|
+
end
|
177
|
+
@status = status
|
178
|
+
end
|
179
|
+
|
180
|
+
# Checks equality by comparing each attribute.
|
181
|
+
# @param [Object] Object to be compared
|
182
|
+
def ==(o)
|
183
|
+
return true if self.equal?(o)
|
184
|
+
self.class == o.class &&
|
185
|
+
id == o.id &&
|
186
|
+
method == o.method &&
|
187
|
+
status == o.status &&
|
188
|
+
created == o.created &&
|
189
|
+
enqueued == o.enqueued &&
|
190
|
+
started == o.started &&
|
191
|
+
failed == o.failed &&
|
192
|
+
canceled == o.canceled &&
|
193
|
+
finished == o.finished &&
|
194
|
+
error == o.error
|
195
|
+
end
|
196
|
+
|
197
|
+
# @see the `==` method
|
198
|
+
# @param [Object] Object to be compared
|
199
|
+
def eql?(o)
|
200
|
+
self == o
|
201
|
+
end
|
202
|
+
|
203
|
+
# Calculates hash code according to all attributes.
|
204
|
+
# @return [Fixnum] Hash code
|
205
|
+
def hash
|
206
|
+
[id, method, status, created, enqueued, started, failed, canceled, finished, error].hash
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
@@ -372,6 +372,7 @@ module AsposeSlidesCloud
|
|
372
372
|
:'OleObjectFrame' => { :'Type' => 'OleObjectFrame', },
|
373
373
|
:'OneValueChartDataPoint' => { :'Type' => 'OneValue', },
|
374
374
|
:'OneValueSeries' => { :'DataPointType' => 'OneValue', },
|
375
|
+
:'Operation' => { },
|
375
376
|
:'OrderedMergeRequest' => { },
|
376
377
|
:'OuterShadowEffect' => { },
|
377
378
|
:'OutputFile' => { },
|
data/lib/aspose_slides_cloud.rb
CHANGED
@@ -171,6 +171,7 @@ require 'aspose_slides_cloud/models/object_exist'
|
|
171
171
|
require 'aspose_slides_cloud/models/ole_object_frame'
|
172
172
|
require 'aspose_slides_cloud/models/one_value_chart_data_point'
|
173
173
|
require 'aspose_slides_cloud/models/one_value_series'
|
174
|
+
require 'aspose_slides_cloud/models/operation'
|
174
175
|
require 'aspose_slides_cloud/models/ordered_merge_request'
|
175
176
|
require 'aspose_slides_cloud/models/outer_shadow_effect'
|
176
177
|
require 'aspose_slides_cloud/models/output_file'
|
@@ -280,6 +281,7 @@ require 'aspose_slides_cloud/models/zoom_frame'
|
|
280
281
|
|
281
282
|
# APIs
|
282
283
|
require 'aspose_slides_cloud/api/slides_api'
|
284
|
+
require 'aspose_slides_cloud/api/slides_async_api'
|
283
285
|
|
284
286
|
module AsposeSlidesCloud
|
285
287
|
class << self
|