aspose_slides_cloud 22.4.0 → 22.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +13 -0
  3. data/Gemfile +7 -7
  4. data/Gemfile.lock +73 -0
  5. data/LICENSE +20 -20
  6. data/README.md +129 -105
  7. data/Rakefile +8 -8
  8. data/TestData/TemplatingCVDataWithBase64.xml +22 -22
  9. data/TestData/oleObject.xlsx +0 -0
  10. data/TestData/test.pptx +0 -0
  11. data/aspose_slides_cloud.gemspec +56 -56
  12. data/docker-entrypoint.sh +7 -0
  13. data/lib/aspose_slides_cloud/api/slides_api.rb +20248 -19455
  14. data/lib/aspose_slides_cloud/api_client.rb +450 -450
  15. data/lib/aspose_slides_cloud/api_error.rb +48 -48
  16. data/lib/aspose_slides_cloud/configuration.rb +188 -188
  17. data/lib/aspose_slides_cloud/models/accent_element.rb +243 -243
  18. data/lib/aspose_slides_cloud/models/access_permissions.rb +321 -321
  19. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +248 -248
  20. data/lib/aspose_slides_cloud/models/add_master_slide.rb +263 -263
  21. data/lib/aspose_slides_cloud/models/add_shape.rb +243 -243
  22. data/lib/aspose_slides_cloud/models/add_slide.rb +273 -273
  23. data/lib/aspose_slides_cloud/models/{waterfall_series.rb → alpha_bi_level_effect.rb} +238 -248
  24. data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +223 -0
  25. data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +223 -0
  26. data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +223 -0
  27. data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +223 -0
  28. data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +238 -0
  29. data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +238 -0
  30. data/lib/aspose_slides_cloud/models/api_info.rb +221 -221
  31. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +283 -283
  32. data/lib/aspose_slides_cloud/models/array_element.rb +309 -309
  33. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +289 -289
  34. data/lib/aspose_slides_cloud/models/audio_frame.rb +395 -395
  35. data/lib/aspose_slides_cloud/models/axes.rb +241 -241
  36. data/lib/aspose_slides_cloud/models/axis.rb +723 -723
  37. data/lib/aspose_slides_cloud/models/axis_type.rb +42 -0
  38. data/lib/aspose_slides_cloud/models/bar_element.rb +255 -255
  39. data/lib/aspose_slides_cloud/models/base64_input_file.rb +234 -234
  40. data/lib/aspose_slides_cloud/models/bi_level_effect.rb +238 -0
  41. data/lib/aspose_slides_cloud/models/block_element.rb +235 -235
  42. data/lib/aspose_slides_cloud/models/blur_effect.rb +231 -231
  43. data/lib/aspose_slides_cloud/models/blur_image_effect.rb +253 -0
  44. data/lib/aspose_slides_cloud/models/border_box_element.rb +313 -313
  45. data/lib/aspose_slides_cloud/models/box_element.rb +283 -283
  46. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +216 -216
  47. data/lib/aspose_slides_cloud/models/bubble_series.rb +260 -260
  48. data/lib/aspose_slides_cloud/models/camera.rb +295 -295
  49. data/lib/aspose_slides_cloud/models/chart.rb +393 -371
  50. data/lib/aspose_slides_cloud/models/chart_category.rb +275 -275
  51. data/lib/aspose_slides_cloud/models/chart_lines_format.rb +221 -221
  52. data/lib/aspose_slides_cloud/models/chart_series_group.rb +399 -0
  53. data/lib/aspose_slides_cloud/models/chart_title.rb +226 -226
  54. data/lib/aspose_slides_cloud/models/chart_wall.rb +285 -285
  55. data/lib/aspose_slides_cloud/models/chart_wall_type.rb +41 -0
  56. data/lib/aspose_slides_cloud/models/close_path_segment.rb +223 -223
  57. data/lib/aspose_slides_cloud/models/color_change_effect.rb +243 -0
  58. data/lib/aspose_slides_cloud/models/color_replace_effect.rb +233 -0
  59. data/lib/aspose_slides_cloud/models/color_scheme.rb +321 -321
  60. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +221 -221
  61. data/lib/aspose_slides_cloud/models/connector.rb +281 -281
  62. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +313 -313
  63. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +213 -213
  64. data/lib/aspose_slides_cloud/models/data_point.rb +201 -201
  65. data/lib/aspose_slides_cloud/models/delimiter_element.rb +297 -297
  66. data/lib/aspose_slides_cloud/models/disc_usage.rb +231 -231
  67. data/lib/aspose_slides_cloud/models/document.rb +261 -261
  68. data/lib/aspose_slides_cloud/models/document_properties.rb +213 -213
  69. data/lib/aspose_slides_cloud/models/document_property.rb +236 -236
  70. data/lib/aspose_slides_cloud/models/document_replace_result.rb +222 -222
  71. data/lib/aspose_slides_cloud/models/duotone_effect.rb +243 -0
  72. data/lib/aspose_slides_cloud/models/effect.rb +438 -438
  73. data/lib/aspose_slides_cloud/models/effect_format.rb +281 -281
  74. data/lib/aspose_slides_cloud/models/entity_exists.rb +216 -216
  75. data/lib/aspose_slides_cloud/models/error.rb +241 -241
  76. data/lib/aspose_slides_cloud/models/error_details.rb +226 -226
  77. data/lib/aspose_slides_cloud/models/export_format.rb +63 -63
  78. data/lib/aspose_slides_cloud/models/export_options.rb +232 -232
  79. data/lib/aspose_slides_cloud/models/file_version.rb +229 -229
  80. data/lib/aspose_slides_cloud/models/file_versions.rb +213 -213
  81. data/lib/aspose_slides_cloud/models/files_list.rb +213 -213
  82. data/lib/aspose_slides_cloud/models/files_upload_result.rb +225 -225
  83. data/lib/aspose_slides_cloud/models/fill_format.rb +244 -244
  84. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +250 -250
  85. data/lib/aspose_slides_cloud/models/{box_and_whisker_series.rb → fill_overlay_image_effect.rb} +260 -300
  86. data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +243 -243
  87. data/lib/aspose_slides_cloud/models/font_scheme.rb +231 -231
  88. data/lib/aspose_slides_cloud/models/font_set.rb +231 -231
  89. data/lib/aspose_slides_cloud/models/format_scheme.rb +249 -249
  90. data/lib/aspose_slides_cloud/models/fraction_element.rb +265 -265
  91. data/lib/aspose_slides_cloud/models/function_element.rb +243 -243
  92. data/lib/aspose_slides_cloud/models/geometry_path.rb +267 -267
  93. data/lib/aspose_slides_cloud/models/geometry_paths.rb +213 -213
  94. data/lib/aspose_slides_cloud/models/geometry_shape.rb +266 -266
  95. data/lib/aspose_slides_cloud/models/gif_export_options.rb +235 -235
  96. data/lib/aspose_slides_cloud/models/glow_effect.rb +226 -226
  97. data/lib/aspose_slides_cloud/models/gradient_fill.rb +346 -346
  98. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +226 -226
  99. data/lib/aspose_slides_cloud/models/graphical_object.rb +240 -240
  100. data/lib/aspose_slides_cloud/models/{waterfall_chart_data_point.rb → gray_scale_effect.rb} +223 -210
  101. data/lib/aspose_slides_cloud/models/group_shape.rb +250 -250
  102. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +287 -287
  103. data/lib/aspose_slides_cloud/models/header_footer.rb +251 -251
  104. data/lib/aspose_slides_cloud/models/hsl_effect.rb +268 -0
  105. data/lib/aspose_slides_cloud/models/html5_export_options.rb +223 -223
  106. data/lib/aspose_slides_cloud/models/html_export_options.rb +381 -381
  107. data/lib/aspose_slides_cloud/models/hyperlink.rb +352 -352
  108. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +201 -201
  109. data/lib/aspose_slides_cloud/models/image.rb +241 -241
  110. data/lib/aspose_slides_cloud/models/image_export_format.rb +43 -43
  111. data/lib/aspose_slides_cloud/models/image_export_options.rb +291 -291
  112. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +222 -222
  113. data/lib/aspose_slides_cloud/models/image_transform_effect.rb +244 -0
  114. data/lib/aspose_slides_cloud/models/images.rb +213 -213
  115. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +256 -256
  116. data/lib/aspose_slides_cloud/models/input.rb +231 -231
  117. data/lib/aspose_slides_cloud/models/input_file.rb +254 -254
  118. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +228 -228
  119. data/lib/aspose_slides_cloud/models/layout_slide.rb +282 -282
  120. data/lib/aspose_slides_cloud/models/layout_slides.rb +213 -213
  121. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +253 -253
  122. data/lib/aspose_slides_cloud/models/legend.rb +335 -335
  123. data/lib/aspose_slides_cloud/models/light_rig.rb +297 -297
  124. data/lib/aspose_slides_cloud/models/limit_element.rb +253 -253
  125. data/lib/aspose_slides_cloud/models/line_format.rb +415 -415
  126. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +253 -253
  127. data/lib/aspose_slides_cloud/models/luminance_effect.rb +253 -0
  128. data/lib/aspose_slides_cloud/models/master_slide.rb +235 -235
  129. data/lib/aspose_slides_cloud/models/master_slides.rb +213 -213
  130. data/lib/aspose_slides_cloud/models/math_element.rb +244 -244
  131. data/lib/aspose_slides_cloud/models/math_paragraph.rb +257 -257
  132. data/lib/aspose_slides_cloud/models/matrix_element.rb +341 -341
  133. data/lib/aspose_slides_cloud/models/merge.rb +235 -235
  134. data/lib/aspose_slides_cloud/models/merging_source.rb +223 -223
  135. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +253 -253
  136. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +315 -315
  137. data/lib/aspose_slides_cloud/models/no_fill.rb +223 -223
  138. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +221 -221
  139. data/lib/aspose_slides_cloud/models/notes_slide.rb +221 -221
  140. data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +61 -43
  141. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +271 -271
  142. data/lib/aspose_slides_cloud/models/object_exist.rb +231 -231
  143. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +335 -335
  144. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +234 -214
  145. data/lib/aspose_slides_cloud/models/one_value_series.rb +330 -258
  146. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +213 -213
  147. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +256 -256
  148. data/lib/aspose_slides_cloud/models/output_file.rb +244 -244
  149. data/lib/aspose_slides_cloud/models/paragraph.rb +531 -531
  150. data/lib/aspose_slides_cloud/models/paragraphs.rb +213 -213
  151. data/lib/aspose_slides_cloud/models/path_input_file.rb +244 -244
  152. data/lib/aspose_slides_cloud/models/path_output_file.rb +243 -243
  153. data/lib/aspose_slides_cloud/models/path_segment.rb +244 -244
  154. data/lib/aspose_slides_cloud/models/pattern_fill.rb +270 -270
  155. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +465 -465
  156. data/lib/aspose_slides_cloud/models/picture_fill.rb +367 -355
  157. data/lib/aspose_slides_cloud/models/picture_frame.rb +251 -251
  158. data/lib/aspose_slides_cloud/models/pipeline.rb +223 -223
  159. data/lib/aspose_slides_cloud/models/placeholder.rb +329 -329
  160. data/lib/aspose_slides_cloud/models/placeholders.rb +213 -213
  161. data/lib/aspose_slides_cloud/models/plot_area.rb +315 -315
  162. data/lib/aspose_slides_cloud/models/portion.rb +653 -653
  163. data/lib/aspose_slides_cloud/models/portion_format.rb +633 -633
  164. data/lib/aspose_slides_cloud/models/portions.rb +213 -213
  165. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +247 -247
  166. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +277 -277
  167. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +225 -225
  168. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +290 -290
  169. data/lib/aspose_slides_cloud/models/protection_properties.rb +271 -271
  170. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +283 -283
  171. data/lib/aspose_slides_cloud/models/radical_element.rb +253 -253
  172. data/lib/aspose_slides_cloud/models/reflection_effect.rb +445 -445
  173. data/lib/aspose_slides_cloud/models/remove_shape.rb +233 -233
  174. data/lib/aspose_slides_cloud/models/remove_slide.rb +238 -238
  175. data/lib/aspose_slides_cloud/models/reorder_slide.rb +253 -253
  176. data/lib/aspose_slides_cloud/models/replace_text.rb +273 -273
  177. data/lib/aspose_slides_cloud/models/request_input_file.rb +239 -239
  178. data/lib/aspose_slides_cloud/models/reset_slide.rb +238 -238
  179. data/lib/aspose_slides_cloud/models/resource_base.rb +223 -223
  180. data/lib/aspose_slides_cloud/models/resource_uri.rb +261 -241
  181. data/lib/aspose_slides_cloud/models/response_output_file.rb +223 -223
  182. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +263 -263
  183. data/lib/aspose_slides_cloud/models/save.rb +270 -270
  184. data/lib/aspose_slides_cloud/models/save_shape.rb +280 -280
  185. data/lib/aspose_slides_cloud/models/save_slide.rb +305 -305
  186. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +229 -229
  187. data/lib/aspose_slides_cloud/models/scatter_series.rb +250 -250
  188. data/lib/aspose_slides_cloud/models/section.rb +238 -238
  189. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +255 -255
  190. data/lib/aspose_slides_cloud/models/sections.rb +213 -213
  191. data/lib/aspose_slides_cloud/models/series.rb +386 -386
  192. data/lib/aspose_slides_cloud/models/series_marker.rb +285 -285
  193. data/lib/aspose_slides_cloud/models/shape.rb +271 -271
  194. data/lib/aspose_slides_cloud/models/shape_base.rb +399 -399
  195. data/lib/aspose_slides_cloud/models/shape_bevel.rb +265 -265
  196. data/lib/aspose_slides_cloud/models/shape_export_format.rb +44 -44
  197. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +275 -275
  198. data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +41 -41
  199. data/lib/aspose_slides_cloud/models/shape_type.rb +54 -54
  200. data/lib/aspose_slides_cloud/models/shapes.rb +213 -213
  201. data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +46 -46
  202. data/lib/aspose_slides_cloud/models/slide.rb +326 -326
  203. data/lib/aspose_slides_cloud/models/slide_animation.rb +225 -225
  204. data/lib/aspose_slides_cloud/models/slide_background.rb +270 -270
  205. data/lib/aspose_slides_cloud/models/slide_comment.rb +227 -227
  206. data/lib/aspose_slides_cloud/models/slide_comment_base.rb +286 -286
  207. data/lib/aspose_slides_cloud/models/slide_comments.rb +213 -213
  208. data/lib/aspose_slides_cloud/models/slide_export_format.rb +61 -60
  209. data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +269 -269
  210. data/lib/aspose_slides_cloud/models/slide_properties.rb +319 -319
  211. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +227 -227
  212. data/lib/aspose_slides_cloud/models/slides.rb +213 -213
  213. data/lib/aspose_slides_cloud/models/smart_art.rb +348 -348
  214. data/lib/aspose_slides_cloud/models/smart_art_node.rb +307 -297
  215. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +241 -241
  216. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +216 -216
  217. data/lib/aspose_slides_cloud/models/solid_fill.rb +233 -233
  218. data/lib/aspose_slides_cloud/models/special_slide_type.rb +41 -41
  219. data/lib/aspose_slides_cloud/models/split_document_result.rb +213 -213
  220. data/lib/aspose_slides_cloud/models/storage_exist.rb +216 -216
  221. data/lib/aspose_slides_cloud/models/storage_file.rb +261 -261
  222. data/lib/aspose_slides_cloud/models/subscript_element.rb +243 -243
  223. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +274 -274
  224. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +266 -266
  225. data/lib/aspose_slides_cloud/models/superscript_element.rb +243 -243
  226. data/lib/aspose_slides_cloud/models/svg_export_options.rb +339 -339
  227. data/lib/aspose_slides_cloud/models/swf_export_options.rb +449 -449
  228. data/lib/aspose_slides_cloud/models/table.rb +356 -356
  229. data/lib/aspose_slides_cloud/models/table_cell.rb +427 -427
  230. data/lib/aspose_slides_cloud/models/table_column.rb +216 -216
  231. data/lib/aspose_slides_cloud/models/table_row.rb +243 -243
  232. data/lib/aspose_slides_cloud/models/task.rb +244 -244
  233. data/lib/aspose_slides_cloud/models/text_bounds.rb +261 -261
  234. data/lib/aspose_slides_cloud/models/text_element.rb +233 -233
  235. data/lib/aspose_slides_cloud/models/text_frame_format.rb +255 -255
  236. data/lib/aspose_slides_cloud/models/text_item.rb +221 -221
  237. data/lib/aspose_slides_cloud/models/text_items.rb +213 -213
  238. data/lib/aspose_slides_cloud/models/theme.rb +241 -241
  239. data/lib/aspose_slides_cloud/models/three_d_format.rb +335 -335
  240. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +375 -375
  241. data/lib/aspose_slides_cloud/models/tint_effect.rb +253 -0
  242. data/lib/aspose_slides_cloud/models/update_background.rb +245 -245
  243. data/lib/aspose_slides_cloud/models/update_shape.rb +243 -243
  244. data/lib/aspose_slides_cloud/models/video_export_options.rb +289 -289
  245. data/lib/aspose_slides_cloud/models/video_frame.rb +345 -335
  246. data/lib/aspose_slides_cloud/models/view_properties.rb +361 -361
  247. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +213 -213
  248. data/lib/aspose_slides_cloud/models/xps_export_options.rb +233 -233
  249. data/lib/aspose_slides_cloud/models/xy_series.rb +255 -255
  250. data/lib/aspose_slides_cloud/models/zoom_frame.rb +255 -255
  251. data/lib/aspose_slides_cloud/models/zoom_object.rb +301 -301
  252. data/lib/aspose_slides_cloud/type_registry.rb +464 -432
  253. data/lib/aspose_slides_cloud/version.rb +25 -25
  254. data/lib/aspose_slides_cloud.rb +286 -268
  255. data/spec/api/slides_api_spec.rb +55582 -53418
  256. data/spec/spec_helper.rb +122 -122
  257. data/spec/spec_utils.rb +188 -188
  258. data/spec/use_cases/abstract_class_spec.rb +38 -38
  259. data/spec/use_cases/animation_spec.rb +193 -193
  260. data/spec/use_cases/auth_spec.rb +91 -91
  261. data/spec/use_cases/chart_spec.rb +291 -291
  262. data/spec/use_cases/convert_spec.rb +154 -154
  263. data/spec/use_cases/create_spec.rb +101 -101
  264. data/spec/use_cases/header_footer_spec.rb +78 -78
  265. data/spec/use_cases/hyperlink_spec.rb +92 -92
  266. data/spec/use_cases/image_spec.rb +102 -102
  267. data/spec/use_cases/layout_slide_spec.rb +190 -190
  268. data/spec/use_cases/master_slide_spec.rb +190 -190
  269. data/spec/use_cases/math_spec.rb +163 -163
  270. data/spec/use_cases/merge_spec.rb +105 -105
  271. data/spec/use_cases/notes_slide_spec.rb +172 -172
  272. data/spec/use_cases/nullable_field_spec.rb +86 -86
  273. data/spec/use_cases/pipeline_spec.rb +61 -61
  274. data/spec/use_cases/property_spec.rb +177 -177
  275. data/spec/use_cases/section_spec.rb +104 -104
  276. data/spec/use_cases/shape_format_spec.rb +126 -126
  277. data/spec/use_cases/shape_spec.rb +397 -397
  278. data/spec/use_cases/split_spec.rb +88 -88
  279. data/spec/use_cases/text_spec.rb +74 -74
  280. data/spec/use_cases/timeout_spec.rb +44 -44
  281. data/spec/use_cases/watermark_spec.rb +158 -158
  282. data/testConfig.json +7 -7
  283. data/testRules.json +546 -527
  284. metadata +31 -10
  285. data/.gitignore +0 -1
@@ -1,339 +1,339 @@
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
- # Provides options that control how a presentation is saved in SVG format.
27
- class SvgExportOptions < ExportOptions
28
- # Determines whether the text on a slide will be saved as graphics.
29
- attr_accessor :vectorize_text
30
-
31
- # Returns or sets the lower resolution limit for metafile rasterization.
32
- attr_accessor :metafile_rasterization_dpi
33
-
34
- # Determines whether the 3D text is disabled in SVG.
35
- attr_accessor :disable3_d_text
36
-
37
- # Disables splitting FromCornerX and FromCenter gradients.
38
- attr_accessor :disable_gradient_split
39
-
40
- # SVG 1.1 lacks ability to define insets for markers. Aspose.Slides SVG writing engine has workaround for that problem: it crops end of line with arrow, so, line doesn't overlap markers. This option switches off such behavior.
41
- attr_accessor :disable_line_end_cropping
42
-
43
- # Determines JPEG encoding quality.
44
- attr_accessor :jpeg_quality
45
-
46
- # Represents the pictures compression level
47
- attr_accessor :pictures_compression
48
-
49
- # A boolean flag indicates if the cropped parts remain as part of the document. If true the cropped parts will removed, if false they will be serialized in the document (which can possible lead to a larger file)
50
- attr_accessor :delete_pictures_cropped_areas
51
-
52
- # Determines a way of handling externally loaded fonts.
53
- attr_accessor :external_fonts_handling
54
-
55
- class EnumAttributeValidator
56
- attr_reader :datatype
57
- attr_reader :allowable_values
58
-
59
- def initialize(datatype, allowable_values)
60
- @allowable_values = allowable_values.map do |value|
61
- case datatype.to_s
62
- when /Integer/i
63
- value.to_i
64
- when /Float/i
65
- value.to_f
66
- else
67
- value
68
- end
69
- end
70
- end
71
-
72
- def valid?(value)
73
- !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
74
- end
75
- end
76
-
77
- # Attribute mapping from ruby-style variable name to JSON key.
78
- def self.attribute_map
79
- super.merge({
80
- :'vectorize_text' => :'VectorizeText',
81
- :'metafile_rasterization_dpi' => :'MetafileRasterizationDpi',
82
- :'disable3_d_text' => :'Disable3DText',
83
- :'disable_gradient_split' => :'DisableGradientSplit',
84
- :'disable_line_end_cropping' => :'DisableLineEndCropping',
85
- :'jpeg_quality' => :'JpegQuality',
86
- :'pictures_compression' => :'PicturesCompression',
87
- :'delete_pictures_cropped_areas' => :'DeletePicturesCroppedAreas',
88
- :'external_fonts_handling' => :'ExternalFontsHandling',
89
- })
90
- end
91
-
92
- # Attribute type mapping.
93
- def self.swagger_types
94
- super.merge({
95
- :'vectorize_text' => :'BOOLEAN',
96
- :'metafile_rasterization_dpi' => :'Integer',
97
- :'disable3_d_text' => :'BOOLEAN',
98
- :'disable_gradient_split' => :'BOOLEAN',
99
- :'disable_line_end_cropping' => :'BOOLEAN',
100
- :'jpeg_quality' => :'Integer',
101
- :'pictures_compression' => :'String',
102
- :'delete_pictures_cropped_areas' => :'BOOLEAN',
103
- :'external_fonts_handling' => :'String',
104
- })
105
- end
106
-
107
- # Initializes the object
108
- # @param [Hash] attributes Model attributes in the form of hash
109
- def initialize(attributes = {})
110
- super
111
-
112
- if attributes.has_key?(:'VectorizeText')
113
- self.vectorize_text = attributes[:'VectorizeText']
114
- end
115
-
116
- if attributes.has_key?(:'MetafileRasterizationDpi')
117
- self.metafile_rasterization_dpi = attributes[:'MetafileRasterizationDpi']
118
- end
119
-
120
- if attributes.has_key?(:'Disable3DText')
121
- self.disable3_d_text = attributes[:'Disable3DText']
122
- end
123
-
124
- if attributes.has_key?(:'DisableGradientSplit')
125
- self.disable_gradient_split = attributes[:'DisableGradientSplit']
126
- end
127
-
128
- if attributes.has_key?(:'DisableLineEndCropping')
129
- self.disable_line_end_cropping = attributes[:'DisableLineEndCropping']
130
- end
131
-
132
- if attributes.has_key?(:'JpegQuality')
133
- self.jpeg_quality = attributes[:'JpegQuality']
134
- end
135
-
136
- if attributes.has_key?(:'PicturesCompression')
137
- self.pictures_compression = attributes[:'PicturesCompression']
138
- end
139
-
140
- if attributes.has_key?(:'DeletePicturesCroppedAreas')
141
- self.delete_pictures_cropped_areas = attributes[:'DeletePicturesCroppedAreas']
142
- end
143
-
144
- if attributes.has_key?(:'ExternalFontsHandling')
145
- self.external_fonts_handling = attributes[:'ExternalFontsHandling']
146
- end
147
- self.format = "svg"
148
- end
149
-
150
- # Show invalid properties with the reasons. Usually used together with valid?
151
- # @return Array for valid properties with the reasons
152
- def list_invalid_properties
153
- invalid_properties = super
154
- invalid_properties
155
- end
156
-
157
- # Check to see if the all the properties in the model are valid
158
- # @return true if the model is valid
159
- def valid?
160
- return false if !super
161
- pictures_compression_validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
162
- return false unless pictures_compression_validator.valid?(@pictures_compression)
163
- external_fonts_handling_validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
164
- return false unless external_fonts_handling_validator.valid?(@external_fonts_handling)
165
- true
166
- end
167
-
168
- # Custom attribute writer method checking allowed values (enum).
169
- # @param [Object] pictures_compression Object to be assigned
170
- def pictures_compression=(pictures_compression)
171
- validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
172
- unless validator.valid?(pictures_compression)
173
- fail ArgumentError, 'invalid value for "pictures_compression", must be one of #{validator.allowable_values}.'
174
- end
175
- @pictures_compression = pictures_compression
176
- end
177
-
178
- # Custom attribute writer method checking allowed values (enum).
179
- # @param [Object] external_fonts_handling Object to be assigned
180
- def external_fonts_handling=(external_fonts_handling)
181
- validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
182
- unless validator.valid?(external_fonts_handling)
183
- fail ArgumentError, 'invalid value for "external_fonts_handling", must be one of #{validator.allowable_values}.'
184
- end
185
- @external_fonts_handling = external_fonts_handling
186
- end
187
-
188
- # Checks equality by comparing each attribute.
189
- # @param [Object] Object to be compared
190
- def ==(o)
191
- return true if self.equal?(o)
192
- self.class == o.class &&
193
- default_regular_font == o.default_regular_font &&
194
- font_fallback_rules == o.font_fallback_rules &&
195
- format == o.format &&
196
- vectorize_text == o.vectorize_text &&
197
- metafile_rasterization_dpi == o.metafile_rasterization_dpi &&
198
- disable3_d_text == o.disable3_d_text &&
199
- disable_gradient_split == o.disable_gradient_split &&
200
- disable_line_end_cropping == o.disable_line_end_cropping &&
201
- jpeg_quality == o.jpeg_quality &&
202
- pictures_compression == o.pictures_compression &&
203
- delete_pictures_cropped_areas == o.delete_pictures_cropped_areas &&
204
- external_fonts_handling == o.external_fonts_handling
205
- end
206
-
207
- # @see the `==` method
208
- # @param [Object] Object to be compared
209
- def eql?(o)
210
- self == o
211
- end
212
-
213
- # Calculates hash code according to all attributes.
214
- # @return [Fixnum] Hash code
215
- def hash
216
- [default_regular_font, font_fallback_rules, format, vectorize_text, metafile_rasterization_dpi, disable3_d_text, disable_gradient_split, disable_line_end_cropping, jpeg_quality, pictures_compression, delete_pictures_cropped_areas, external_fonts_handling].hash
217
- end
218
-
219
- # Builds the object from hash
220
- # @param [Hash] attributes Model attributes in the form of hash
221
- # @return [Object] Returns the model itself
222
- def build_from_hash(attributes)
223
- return nil unless attributes.is_a?(Hash)
224
- self.class.swagger_types.each_pair do |key, type|
225
- mapKey = self.class.attribute_map[key]
226
- if !mapKey.nil?
227
- val = attributes[mapKey]
228
- if val.nil?
229
- mapKeyString = mapKey.to_s
230
- mapKeyString[0] = mapKeyString[0].downcase
231
- mapKey = mapKeyString.to_sym
232
- val = attributes[mapKey]
233
- end
234
- if !val.nil?
235
- if type =~ /\AArray<(.*)>/i
236
- # check to ensure the input is an array given that the the attribute
237
- # is documented as an array but the input is not
238
- if val.is_a?(Array)
239
- self.send("#{key}=", val.map { |v| _deserialize($1, v) })
240
- end
241
- else
242
- self.send("#{key}=", _deserialize(type, val))
243
- end
244
- end
245
- end
246
- end
247
-
248
- self
249
- end
250
-
251
- # Deserializes the data based on type
252
- # @param string type Data type
253
- # @param string value Value to be deserialized
254
- # @return [Object] Deserialized data
255
- def _deserialize(type, value)
256
- case type.to_sym
257
- when :DateTime
258
- DateTime.parse(value)
259
- when :Date
260
- Date.parse(value)
261
- when :String
262
- value.to_s
263
- when :Integer
264
- value.to_i
265
- when :Float
266
- value.to_f
267
- when :BOOLEAN
268
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
269
- true
270
- else
271
- false
272
- end
273
- when :Object
274
- # generic object (usually a Hash), return directly
275
- value
276
- when /\AArray<(?<inner_type>.+)>\z/
277
- inner_type = Regexp.last_match[:inner_type]
278
- value.map { |v| _deserialize(inner_type, v) }
279
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
280
- k_type = Regexp.last_match[:k_type]
281
- v_type = Regexp.last_match[:v_type]
282
- {}.tap do |hash|
283
- value.each do |k, v|
284
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
285
- end
286
- end
287
- else # model
288
- registry_type = AsposeSlidesCloud::TypeRegistry.get_type(type.to_s, value)
289
- if registry_type
290
- type = registry_type
291
- end
292
- temp_model = AsposeSlidesCloud.const_get(type).new
293
- temp_model.build_from_hash(value)
294
- end
295
- end
296
-
297
- # Returns the string representation of the object
298
- # @return [String] String presentation of the object
299
- def to_s
300
- to_hash.to_s
301
- end
302
-
303
- # to_body is an alias to to_hash (backward compatibility)
304
- # @return [Hash] Returns the object in the form of hash
305
- def to_body
306
- to_hash
307
- end
308
-
309
- # Returns the object in the form of hash
310
- # @return [Hash] Returns the object in the form of hash
311
- def to_hash
312
- hash = {}
313
- self.class.attribute_map.each_pair do |attr, param|
314
- value = self.send(attr)
315
- next if value.nil?
316
- hash[param] = _to_hash(value)
317
- end
318
- hash
319
- end
320
-
321
- # Outputs non-array value in the form of hash
322
- # For object, use to_hash. Otherwise, just return the value
323
- # @param [Object] value Any valid value
324
- # @return [Hash] Returns the value in the form of hash
325
- def _to_hash(value)
326
- if value.is_a?(Array)
327
- value.compact.map { |v| _to_hash(v) }
328
- elsif value.is_a?(Hash)
329
- {}.tap do |hash|
330
- value.each { |k, v| hash[k] = _to_hash(v) }
331
- end
332
- elsif value.respond_to? :to_hash
333
- value.to_hash
334
- else
335
- value
336
- end
337
- end
338
- end
339
- end
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
+ # Provides options that control how a presentation is saved in SVG format.
27
+ class SvgExportOptions < ExportOptions
28
+ # Determines whether the text on a slide will be saved as graphics.
29
+ attr_accessor :vectorize_text
30
+
31
+ # Returns or sets the lower resolution limit for metafile rasterization.
32
+ attr_accessor :metafile_rasterization_dpi
33
+
34
+ # Determines whether the 3D text is disabled in SVG.
35
+ attr_accessor :disable3_d_text
36
+
37
+ # Disables splitting FromCornerX and FromCenter gradients.
38
+ attr_accessor :disable_gradient_split
39
+
40
+ # SVG 1.1 lacks ability to define insets for markers. Aspose.Slides SVG writing engine has workaround for that problem: it crops end of line with arrow, so, line doesn't overlap markers. This option switches off such behavior.
41
+ attr_accessor :disable_line_end_cropping
42
+
43
+ # Determines JPEG encoding quality.
44
+ attr_accessor :jpeg_quality
45
+
46
+ # Represents the pictures compression level
47
+ attr_accessor :pictures_compression
48
+
49
+ # A boolean flag indicates if the cropped parts remain as part of the document. If true the cropped parts will removed, if false they will be serialized in the document (which can possible lead to a larger file)
50
+ attr_accessor :delete_pictures_cropped_areas
51
+
52
+ # Determines a way of handling externally loaded fonts.
53
+ attr_accessor :external_fonts_handling
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
74
+ end
75
+ end
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ super.merge({
80
+ :'vectorize_text' => :'VectorizeText',
81
+ :'metafile_rasterization_dpi' => :'MetafileRasterizationDpi',
82
+ :'disable3_d_text' => :'Disable3DText',
83
+ :'disable_gradient_split' => :'DisableGradientSplit',
84
+ :'disable_line_end_cropping' => :'DisableLineEndCropping',
85
+ :'jpeg_quality' => :'JpegQuality',
86
+ :'pictures_compression' => :'PicturesCompression',
87
+ :'delete_pictures_cropped_areas' => :'DeletePicturesCroppedAreas',
88
+ :'external_fonts_handling' => :'ExternalFontsHandling',
89
+ })
90
+ end
91
+
92
+ # Attribute type mapping.
93
+ def self.swagger_types
94
+ super.merge({
95
+ :'vectorize_text' => :'BOOLEAN',
96
+ :'metafile_rasterization_dpi' => :'Integer',
97
+ :'disable3_d_text' => :'BOOLEAN',
98
+ :'disable_gradient_split' => :'BOOLEAN',
99
+ :'disable_line_end_cropping' => :'BOOLEAN',
100
+ :'jpeg_quality' => :'Integer',
101
+ :'pictures_compression' => :'String',
102
+ :'delete_pictures_cropped_areas' => :'BOOLEAN',
103
+ :'external_fonts_handling' => :'String',
104
+ })
105
+ end
106
+
107
+ # Initializes the object
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ def initialize(attributes = {})
110
+ super
111
+
112
+ if attributes.has_key?(:'VectorizeText')
113
+ self.vectorize_text = attributes[:'VectorizeText']
114
+ end
115
+
116
+ if attributes.has_key?(:'MetafileRasterizationDpi')
117
+ self.metafile_rasterization_dpi = attributes[:'MetafileRasterizationDpi']
118
+ end
119
+
120
+ if attributes.has_key?(:'Disable3DText')
121
+ self.disable3_d_text = attributes[:'Disable3DText']
122
+ end
123
+
124
+ if attributes.has_key?(:'DisableGradientSplit')
125
+ self.disable_gradient_split = attributes[:'DisableGradientSplit']
126
+ end
127
+
128
+ if attributes.has_key?(:'DisableLineEndCropping')
129
+ self.disable_line_end_cropping = attributes[:'DisableLineEndCropping']
130
+ end
131
+
132
+ if attributes.has_key?(:'JpegQuality')
133
+ self.jpeg_quality = attributes[:'JpegQuality']
134
+ end
135
+
136
+ if attributes.has_key?(:'PicturesCompression')
137
+ self.pictures_compression = attributes[:'PicturesCompression']
138
+ end
139
+
140
+ if attributes.has_key?(:'DeletePicturesCroppedAreas')
141
+ self.delete_pictures_cropped_areas = attributes[:'DeletePicturesCroppedAreas']
142
+ end
143
+
144
+ if attributes.has_key?(:'ExternalFontsHandling')
145
+ self.external_fonts_handling = attributes[:'ExternalFontsHandling']
146
+ end
147
+ self.format = "svg"
148
+ end
149
+
150
+ # Show invalid properties with the reasons. Usually used together with valid?
151
+ # @return Array for valid properties with the reasons
152
+ def list_invalid_properties
153
+ invalid_properties = super
154
+ invalid_properties
155
+ end
156
+
157
+ # Check to see if the all the properties in the model are valid
158
+ # @return true if the model is valid
159
+ def valid?
160
+ return false if !super
161
+ pictures_compression_validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
162
+ return false unless pictures_compression_validator.valid?(@pictures_compression)
163
+ external_fonts_handling_validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
164
+ return false unless external_fonts_handling_validator.valid?(@external_fonts_handling)
165
+ true
166
+ end
167
+
168
+ # Custom attribute writer method checking allowed values (enum).
169
+ # @param [Object] pictures_compression Object to be assigned
170
+ def pictures_compression=(pictures_compression)
171
+ validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
172
+ unless validator.valid?(pictures_compression)
173
+ fail ArgumentError, 'invalid value for "pictures_compression", must be one of #{validator.allowable_values}.'
174
+ end
175
+ @pictures_compression = pictures_compression
176
+ end
177
+
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] external_fonts_handling Object to be assigned
180
+ def external_fonts_handling=(external_fonts_handling)
181
+ validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
182
+ unless validator.valid?(external_fonts_handling)
183
+ fail ArgumentError, 'invalid value for "external_fonts_handling", must be one of #{validator.allowable_values}.'
184
+ end
185
+ @external_fonts_handling = external_fonts_handling
186
+ end
187
+
188
+ # Checks equality by comparing each attribute.
189
+ # @param [Object] Object to be compared
190
+ def ==(o)
191
+ return true if self.equal?(o)
192
+ self.class == o.class &&
193
+ default_regular_font == o.default_regular_font &&
194
+ font_fallback_rules == o.font_fallback_rules &&
195
+ format == o.format &&
196
+ vectorize_text == o.vectorize_text &&
197
+ metafile_rasterization_dpi == o.metafile_rasterization_dpi &&
198
+ disable3_d_text == o.disable3_d_text &&
199
+ disable_gradient_split == o.disable_gradient_split &&
200
+ disable_line_end_cropping == o.disable_line_end_cropping &&
201
+ jpeg_quality == o.jpeg_quality &&
202
+ pictures_compression == o.pictures_compression &&
203
+ delete_pictures_cropped_areas == o.delete_pictures_cropped_areas &&
204
+ external_fonts_handling == o.external_fonts_handling
205
+ end
206
+
207
+ # @see the `==` method
208
+ # @param [Object] Object to be compared
209
+ def eql?(o)
210
+ self == o
211
+ end
212
+
213
+ # Calculates hash code according to all attributes.
214
+ # @return [Fixnum] Hash code
215
+ def hash
216
+ [default_regular_font, font_fallback_rules, format, vectorize_text, metafile_rasterization_dpi, disable3_d_text, disable_gradient_split, disable_line_end_cropping, jpeg_quality, pictures_compression, delete_pictures_cropped_areas, external_fonts_handling].hash
217
+ end
218
+
219
+ # Builds the object from hash
220
+ # @param [Hash] attributes Model attributes in the form of hash
221
+ # @return [Object] Returns the model itself
222
+ def build_from_hash(attributes)
223
+ return nil unless attributes.is_a?(Hash)
224
+ self.class.swagger_types.each_pair do |key, type|
225
+ mapKey = self.class.attribute_map[key]
226
+ if !mapKey.nil?
227
+ val = attributes[mapKey]
228
+ if val.nil?
229
+ mapKeyString = mapKey.to_s
230
+ mapKeyString[0] = mapKeyString[0].downcase
231
+ mapKey = mapKeyString.to_sym
232
+ val = attributes[mapKey]
233
+ end
234
+ if !val.nil?
235
+ if type =~ /\AArray<(.*)>/i
236
+ # check to ensure the input is an array given that the the attribute
237
+ # is documented as an array but the input is not
238
+ if val.is_a?(Array)
239
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
240
+ end
241
+ else
242
+ self.send("#{key}=", _deserialize(type, val))
243
+ end
244
+ end
245
+ end
246
+ end
247
+
248
+ self
249
+ end
250
+
251
+ # Deserializes the data based on type
252
+ # @param string type Data type
253
+ # @param string value Value to be deserialized
254
+ # @return [Object] Deserialized data
255
+ def _deserialize(type, value)
256
+ case type.to_sym
257
+ when :DateTime
258
+ DateTime.parse(value)
259
+ when :Date
260
+ Date.parse(value)
261
+ when :String
262
+ value.to_s
263
+ when :Integer
264
+ value.to_i
265
+ when :Float
266
+ value.to_f
267
+ when :BOOLEAN
268
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
269
+ true
270
+ else
271
+ false
272
+ end
273
+ when :Object
274
+ # generic object (usually a Hash), return directly
275
+ value
276
+ when /\AArray<(?<inner_type>.+)>\z/
277
+ inner_type = Regexp.last_match[:inner_type]
278
+ value.map { |v| _deserialize(inner_type, v) }
279
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
280
+ k_type = Regexp.last_match[:k_type]
281
+ v_type = Regexp.last_match[:v_type]
282
+ {}.tap do |hash|
283
+ value.each do |k, v|
284
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
285
+ end
286
+ end
287
+ else # model
288
+ registry_type = AsposeSlidesCloud::TypeRegistry.get_type(type.to_s, value)
289
+ if registry_type
290
+ type = registry_type
291
+ end
292
+ temp_model = AsposeSlidesCloud.const_get(type).new
293
+ temp_model.build_from_hash(value)
294
+ end
295
+ end
296
+
297
+ # Returns the string representation of the object
298
+ # @return [String] String presentation of the object
299
+ def to_s
300
+ to_hash.to_s
301
+ end
302
+
303
+ # to_body is an alias to to_hash (backward compatibility)
304
+ # @return [Hash] Returns the object in the form of hash
305
+ def to_body
306
+ to_hash
307
+ end
308
+
309
+ # Returns the object in the form of hash
310
+ # @return [Hash] Returns the object in the form of hash
311
+ def to_hash
312
+ hash = {}
313
+ self.class.attribute_map.each_pair do |attr, param|
314
+ value = self.send(attr)
315
+ next if value.nil?
316
+ hash[param] = _to_hash(value)
317
+ end
318
+ hash
319
+ end
320
+
321
+ # Outputs non-array value in the form of hash
322
+ # For object, use to_hash. Otherwise, just return the value
323
+ # @param [Object] value Any valid value
324
+ # @return [Hash] Returns the value in the form of hash
325
+ def _to_hash(value)
326
+ if value.is_a?(Array)
327
+ value.compact.map { |v| _to_hash(v) }
328
+ elsif value.is_a?(Hash)
329
+ {}.tap do |hash|
330
+ value.each { |k, v| hash[k] = _to_hash(v) }
331
+ end
332
+ elsif value.respond_to? :to_hash
333
+ value.to_hash
334
+ else
335
+ value
336
+ end
337
+ end
338
+ end
339
+ end