aspose_slides_cloud 22.3.0 → 22.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +13 -16
  3. data/Gemfile.lock +73 -0
  4. data/README.md +120 -85
  5. data/TestData/TemplatingCVDataWithBase64.xml +22 -22
  6. data/TestData/oleObject.xlsx +0 -0
  7. data/TestData/test.pptx +0 -0
  8. data/aspose_slides_cloud.gemspec +2 -2
  9. data/docker-entrypoint.sh +7 -7
  10. data/lib/aspose_slides_cloud/api/slides_api.rb +19879 -19455
  11. data/lib/aspose_slides_cloud/api_client.rb +450 -450
  12. data/lib/aspose_slides_cloud/models/accent_element.rb +243 -243
  13. data/lib/aspose_slides_cloud/models/access_permissions.rb +321 -0
  14. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +248 -248
  15. data/lib/aspose_slides_cloud/models/add_master_slide.rb +263 -263
  16. data/lib/aspose_slides_cloud/models/add_shape.rb +243 -243
  17. data/lib/aspose_slides_cloud/models/add_slide.rb +273 -273
  18. data/lib/aspose_slides_cloud/models/{waterfall_series.rb → alpha_bi_level_effect.rb} +238 -248
  19. data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +223 -0
  20. data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +223 -0
  21. data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +223 -0
  22. data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +223 -0
  23. data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +238 -0
  24. data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +238 -0
  25. data/lib/aspose_slides_cloud/models/api_info.rb +221 -221
  26. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +283 -283
  27. data/lib/aspose_slides_cloud/models/array_element.rb +309 -309
  28. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +289 -289
  29. data/lib/aspose_slides_cloud/models/audio_frame.rb +395 -386
  30. data/lib/aspose_slides_cloud/models/axes.rb +241 -241
  31. data/lib/aspose_slides_cloud/models/axis.rb +723 -723
  32. data/lib/aspose_slides_cloud/models/bar_element.rb +255 -255
  33. data/lib/aspose_slides_cloud/models/base64_input_file.rb +234 -234
  34. data/lib/aspose_slides_cloud/models/bi_level_effect.rb +238 -0
  35. data/lib/aspose_slides_cloud/models/block_element.rb +235 -235
  36. data/lib/aspose_slides_cloud/models/blur_effect.rb +231 -231
  37. data/lib/aspose_slides_cloud/models/blur_image_effect.rb +253 -0
  38. data/lib/aspose_slides_cloud/models/border_box_element.rb +313 -313
  39. data/lib/aspose_slides_cloud/models/box_element.rb +283 -283
  40. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +216 -216
  41. data/lib/aspose_slides_cloud/models/bubble_series.rb +260 -260
  42. data/lib/aspose_slides_cloud/models/camera.rb +295 -295
  43. data/lib/aspose_slides_cloud/models/chart.rb +393 -372
  44. data/lib/aspose_slides_cloud/models/chart_category.rb +275 -275
  45. data/lib/aspose_slides_cloud/models/chart_lines_format.rb +221 -221
  46. data/lib/aspose_slides_cloud/models/chart_series_group.rb +399 -0
  47. data/lib/aspose_slides_cloud/models/chart_title.rb +226 -226
  48. data/lib/aspose_slides_cloud/models/chart_wall.rb +285 -285
  49. data/lib/aspose_slides_cloud/models/close_path_segment.rb +223 -223
  50. data/lib/aspose_slides_cloud/models/color_change_effect.rb +243 -0
  51. data/lib/aspose_slides_cloud/models/color_replace_effect.rb +233 -0
  52. data/lib/aspose_slides_cloud/models/color_scheme.rb +321 -321
  53. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +221 -221
  54. data/lib/aspose_slides_cloud/models/connector.rb +281 -282
  55. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +313 -313
  56. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +213 -213
  57. data/lib/aspose_slides_cloud/models/data_point.rb +201 -201
  58. data/lib/aspose_slides_cloud/models/delimiter_element.rb +297 -297
  59. data/lib/aspose_slides_cloud/models/disc_usage.rb +231 -231
  60. data/lib/aspose_slides_cloud/models/document.rb +261 -261
  61. data/lib/aspose_slides_cloud/models/document_properties.rb +213 -213
  62. data/lib/aspose_slides_cloud/models/document_property.rb +236 -236
  63. data/lib/aspose_slides_cloud/models/document_replace_result.rb +222 -222
  64. data/lib/aspose_slides_cloud/models/duotone_effect.rb +243 -0
  65. data/lib/aspose_slides_cloud/models/effect.rb +438 -438
  66. data/lib/aspose_slides_cloud/models/effect_format.rb +281 -281
  67. data/lib/aspose_slides_cloud/models/entity_exists.rb +216 -216
  68. data/lib/aspose_slides_cloud/models/error.rb +241 -241
  69. data/lib/aspose_slides_cloud/models/error_details.rb +226 -226
  70. data/lib/aspose_slides_cloud/models/export_format.rb +63 -63
  71. data/lib/aspose_slides_cloud/models/export_options.rb +232 -252
  72. data/lib/aspose_slides_cloud/models/file_version.rb +229 -229
  73. data/lib/aspose_slides_cloud/models/file_versions.rb +213 -213
  74. data/lib/aspose_slides_cloud/models/files_list.rb +213 -213
  75. data/lib/aspose_slides_cloud/models/files_upload_result.rb +225 -225
  76. data/lib/aspose_slides_cloud/models/fill_format.rb +244 -244
  77. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +250 -250
  78. data/lib/aspose_slides_cloud/models/{box_and_whisker_series.rb → fill_overlay_image_effect.rb} +260 -300
  79. data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +243 -243
  80. data/lib/aspose_slides_cloud/models/font_scheme.rb +231 -231
  81. data/lib/aspose_slides_cloud/models/font_set.rb +231 -231
  82. data/lib/aspose_slides_cloud/models/format_scheme.rb +249 -249
  83. data/lib/aspose_slides_cloud/models/fraction_element.rb +265 -265
  84. data/lib/aspose_slides_cloud/models/function_element.rb +243 -243
  85. data/lib/aspose_slides_cloud/models/geometry_path.rb +267 -267
  86. data/lib/aspose_slides_cloud/models/geometry_paths.rb +213 -213
  87. data/lib/aspose_slides_cloud/models/geometry_shape.rb +266 -267
  88. data/lib/aspose_slides_cloud/models/gif_export_options.rb +235 -235
  89. data/lib/aspose_slides_cloud/models/glow_effect.rb +226 -226
  90. data/lib/aspose_slides_cloud/models/gradient_fill.rb +346 -346
  91. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +226 -226
  92. data/lib/aspose_slides_cloud/models/graphical_object.rb +240 -241
  93. data/lib/aspose_slides_cloud/models/{waterfall_chart_data_point.rb → gray_scale_effect.rb} +223 -210
  94. data/lib/aspose_slides_cloud/models/group_shape.rb +250 -241
  95. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +287 -287
  96. data/lib/aspose_slides_cloud/models/header_footer.rb +251 -251
  97. data/lib/aspose_slides_cloud/models/hsl_effect.rb +268 -0
  98. data/lib/aspose_slides_cloud/models/html5_export_options.rb +223 -225
  99. data/lib/aspose_slides_cloud/models/html_export_options.rb +381 -383
  100. data/lib/aspose_slides_cloud/models/hyperlink.rb +352 -352
  101. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +201 -201
  102. data/lib/aspose_slides_cloud/models/image.rb +241 -241
  103. data/lib/aspose_slides_cloud/models/image_export_format.rb +43 -43
  104. data/lib/aspose_slides_cloud/models/image_export_options.rb +291 -291
  105. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +222 -0
  106. data/lib/aspose_slides_cloud/models/image_transform_effect.rb +244 -0
  107. data/lib/aspose_slides_cloud/models/images.rb +213 -213
  108. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +256 -256
  109. data/lib/aspose_slides_cloud/models/input.rb +231 -231
  110. data/lib/aspose_slides_cloud/models/input_file.rb +254 -254
  111. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +228 -228
  112. data/lib/aspose_slides_cloud/models/layout_slide.rb +282 -282
  113. data/lib/aspose_slides_cloud/models/layout_slides.rb +213 -213
  114. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +253 -253
  115. data/lib/aspose_slides_cloud/models/legend.rb +335 -335
  116. data/lib/aspose_slides_cloud/models/light_rig.rb +297 -297
  117. data/lib/aspose_slides_cloud/models/limit_element.rb +253 -253
  118. data/lib/aspose_slides_cloud/models/line_format.rb +415 -415
  119. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +253 -253
  120. data/lib/aspose_slides_cloud/models/luminance_effect.rb +253 -0
  121. data/lib/aspose_slides_cloud/models/master_slide.rb +235 -235
  122. data/lib/aspose_slides_cloud/models/master_slides.rb +213 -213
  123. data/lib/aspose_slides_cloud/models/math_element.rb +244 -244
  124. data/lib/aspose_slides_cloud/models/math_paragraph.rb +257 -257
  125. data/lib/aspose_slides_cloud/models/matrix_element.rb +341 -341
  126. data/lib/aspose_slides_cloud/models/merge.rb +235 -235
  127. data/lib/aspose_slides_cloud/models/merging_source.rb +223 -223
  128. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +253 -253
  129. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +315 -315
  130. data/lib/aspose_slides_cloud/models/no_fill.rb +223 -223
  131. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +221 -221
  132. data/lib/aspose_slides_cloud/models/notes_slide.rb +221 -221
  133. data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +43 -43
  134. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +271 -271
  135. data/lib/aspose_slides_cloud/models/object_exist.rb +231 -231
  136. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +335 -266
  137. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +234 -214
  138. data/lib/aspose_slides_cloud/models/one_value_series.rb +330 -258
  139. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +213 -213
  140. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +256 -256
  141. data/lib/aspose_slides_cloud/models/output_file.rb +244 -244
  142. data/lib/aspose_slides_cloud/models/paragraph.rb +531 -521
  143. data/lib/aspose_slides_cloud/models/paragraphs.rb +213 -213
  144. data/lib/aspose_slides_cloud/models/path_input_file.rb +244 -244
  145. data/lib/aspose_slides_cloud/models/path_output_file.rb +243 -243
  146. data/lib/aspose_slides_cloud/models/path_segment.rb +244 -244
  147. data/lib/aspose_slides_cloud/models/pattern_fill.rb +270 -270
  148. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +465 -479
  149. data/lib/aspose_slides_cloud/models/picture_fill.rb +367 -355
  150. data/lib/aspose_slides_cloud/models/picture_frame.rb +251 -252
  151. data/lib/aspose_slides_cloud/models/pipeline.rb +223 -223
  152. data/lib/aspose_slides_cloud/models/placeholder.rb +329 -329
  153. data/lib/aspose_slides_cloud/models/placeholders.rb +213 -213
  154. data/lib/aspose_slides_cloud/models/plot_area.rb +315 -315
  155. data/lib/aspose_slides_cloud/models/portion.rb +653 -653
  156. data/lib/aspose_slides_cloud/models/portion_format.rb +633 -0
  157. data/lib/aspose_slides_cloud/models/portions.rb +213 -213
  158. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +247 -249
  159. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +277 -277
  160. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +225 -225
  161. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +290 -290
  162. data/lib/aspose_slides_cloud/models/protection_properties.rb +271 -271
  163. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +283 -283
  164. data/lib/aspose_slides_cloud/models/radical_element.rb +253 -253
  165. data/lib/aspose_slides_cloud/models/reflection_effect.rb +445 -445
  166. data/lib/aspose_slides_cloud/models/remove_shape.rb +233 -233
  167. data/lib/aspose_slides_cloud/models/remove_slide.rb +238 -238
  168. data/lib/aspose_slides_cloud/models/reorder_slide.rb +253 -253
  169. data/lib/aspose_slides_cloud/models/replace_text.rb +273 -273
  170. data/lib/aspose_slides_cloud/models/request_input_file.rb +239 -239
  171. data/lib/aspose_slides_cloud/models/reset_slide.rb +238 -238
  172. data/lib/aspose_slides_cloud/models/resource_base.rb +223 -223
  173. data/lib/aspose_slides_cloud/models/resource_uri.rb +261 -241
  174. data/lib/aspose_slides_cloud/models/response_output_file.rb +223 -223
  175. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +263 -263
  176. data/lib/aspose_slides_cloud/models/save.rb +270 -270
  177. data/lib/aspose_slides_cloud/models/save_shape.rb +280 -280
  178. data/lib/aspose_slides_cloud/models/save_slide.rb +305 -305
  179. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +229 -229
  180. data/lib/aspose_slides_cloud/models/scatter_series.rb +250 -250
  181. data/lib/aspose_slides_cloud/models/section.rb +238 -238
  182. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +255 -256
  183. data/lib/aspose_slides_cloud/models/sections.rb +213 -213
  184. data/lib/aspose_slides_cloud/models/series.rb +386 -386
  185. data/lib/aspose_slides_cloud/models/series_marker.rb +285 -285
  186. data/lib/aspose_slides_cloud/models/shape.rb +271 -272
  187. data/lib/aspose_slides_cloud/models/shape_base.rb +399 -409
  188. data/lib/aspose_slides_cloud/models/shape_bevel.rb +265 -265
  189. data/lib/aspose_slides_cloud/models/shape_export_format.rb +44 -44
  190. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +275 -275
  191. data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +41 -41
  192. data/lib/aspose_slides_cloud/models/shape_type.rb +54 -54
  193. data/lib/aspose_slides_cloud/models/shapes.rb +213 -213
  194. data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +46 -46
  195. data/lib/aspose_slides_cloud/models/slide.rb +326 -326
  196. data/lib/aspose_slides_cloud/models/slide_animation.rb +225 -225
  197. data/lib/aspose_slides_cloud/models/slide_background.rb +270 -270
  198. data/lib/aspose_slides_cloud/models/slide_comment.rb +227 -227
  199. data/lib/aspose_slides_cloud/models/slide_comment_base.rb +286 -286
  200. data/lib/aspose_slides_cloud/models/slide_comments.rb +213 -213
  201. data/lib/aspose_slides_cloud/models/slide_export_format.rb +60 -60
  202. data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +269 -269
  203. data/lib/aspose_slides_cloud/models/slide_properties.rb +319 -319
  204. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +227 -227
  205. data/lib/aspose_slides_cloud/models/slides.rb +213 -213
  206. data/lib/aspose_slides_cloud/models/smart_art.rb +348 -349
  207. data/lib/aspose_slides_cloud/models/smart_art_node.rb +307 -297
  208. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +241 -242
  209. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +216 -216
  210. data/lib/aspose_slides_cloud/models/solid_fill.rb +233 -233
  211. data/lib/aspose_slides_cloud/models/special_slide_type.rb +41 -41
  212. data/lib/aspose_slides_cloud/models/split_document_result.rb +213 -213
  213. data/lib/aspose_slides_cloud/models/storage_exist.rb +216 -216
  214. data/lib/aspose_slides_cloud/models/storage_file.rb +261 -261
  215. data/lib/aspose_slides_cloud/models/subscript_element.rb +243 -243
  216. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +274 -275
  217. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +266 -267
  218. data/lib/aspose_slides_cloud/models/superscript_element.rb +243 -243
  219. data/lib/aspose_slides_cloud/models/svg_export_options.rb +339 -341
  220. data/lib/aspose_slides_cloud/models/swf_export_options.rb +449 -451
  221. data/lib/aspose_slides_cloud/models/table.rb +356 -357
  222. data/lib/aspose_slides_cloud/models/table_cell.rb +427 -407
  223. data/lib/aspose_slides_cloud/models/table_column.rb +216 -216
  224. data/lib/aspose_slides_cloud/models/table_row.rb +243 -243
  225. data/lib/aspose_slides_cloud/models/task.rb +244 -244
  226. data/lib/aspose_slides_cloud/models/text_bounds.rb +261 -261
  227. data/lib/aspose_slides_cloud/models/text_element.rb +233 -233
  228. data/lib/aspose_slides_cloud/models/text_frame_format.rb +255 -255
  229. data/lib/aspose_slides_cloud/models/text_item.rb +221 -221
  230. data/lib/aspose_slides_cloud/models/text_items.rb +213 -213
  231. data/lib/aspose_slides_cloud/models/theme.rb +241 -241
  232. data/lib/aspose_slides_cloud/models/three_d_format.rb +335 -335
  233. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +375 -375
  234. data/lib/aspose_slides_cloud/models/tint_effect.rb +253 -0
  235. data/lib/aspose_slides_cloud/models/update_background.rb +245 -245
  236. data/lib/aspose_slides_cloud/models/update_shape.rb +243 -243
  237. data/lib/aspose_slides_cloud/models/video_export_options.rb +289 -259
  238. data/lib/aspose_slides_cloud/models/video_frame.rb +345 -336
  239. data/lib/aspose_slides_cloud/models/view_properties.rb +361 -361
  240. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +213 -215
  241. data/lib/aspose_slides_cloud/models/xps_export_options.rb +233 -235
  242. data/lib/aspose_slides_cloud/models/xy_series.rb +255 -255
  243. data/lib/aspose_slides_cloud/models/zoom_frame.rb +255 -256
  244. data/lib/aspose_slides_cloud/models/zoom_object.rb +301 -302
  245. data/lib/aspose_slides_cloud/type_registry.rb +462 -428
  246. data/lib/aspose_slides_cloud/version.rb +25 -25
  247. data/lib/aspose_slides_cloud.rb +284 -265
  248. data/spec/api/slides_api_spec.rb +54650 -53418
  249. data/spec/spec_utils.rb +188 -188
  250. data/spec/use_cases/abstract_class_spec.rb +38 -38
  251. data/spec/use_cases/animation_spec.rb +193 -193
  252. data/spec/use_cases/auth_spec.rb +91 -91
  253. data/spec/use_cases/chart_spec.rb +291 -291
  254. data/spec/use_cases/convert_spec.rb +154 -154
  255. data/spec/use_cases/create_spec.rb +101 -101
  256. data/spec/use_cases/header_footer_spec.rb +78 -78
  257. data/spec/use_cases/hyperlink_spec.rb +92 -92
  258. data/spec/use_cases/image_spec.rb +102 -102
  259. data/spec/use_cases/layout_slide_spec.rb +190 -190
  260. data/spec/use_cases/master_slide_spec.rb +190 -190
  261. data/spec/use_cases/math_spec.rb +163 -163
  262. data/spec/use_cases/merge_spec.rb +105 -105
  263. data/spec/use_cases/notes_slide_spec.rb +172 -172
  264. data/spec/use_cases/nullable_field_spec.rb +86 -86
  265. data/spec/use_cases/pipeline_spec.rb +61 -61
  266. data/spec/use_cases/property_spec.rb +177 -177
  267. data/spec/use_cases/section_spec.rb +104 -104
  268. data/spec/use_cases/shape_format_spec.rb +126 -126
  269. data/spec/use_cases/shape_spec.rb +397 -397
  270. data/spec/use_cases/split_spec.rb +88 -88
  271. data/spec/use_cases/text_spec.rb +74 -74
  272. data/spec/use_cases/timeout_spec.rb +44 -44
  273. data/spec/use_cases/watermark_spec.rb +158 -158
  274. data/testConfig.json +7 -7
  275. data/testRules.json +530 -527
  276. metadata +30 -10
  277. data/.gitignore +0 -1
@@ -1,521 +1,531 @@
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
- # Represents paragraph resource
27
- class Paragraph < ResourceBase
28
- # Left margin.
29
- attr_accessor :margin_left
30
-
31
- # Right margin.
32
- attr_accessor :margin_right
33
-
34
- # Left spacing.
35
- attr_accessor :space_before
36
-
37
- # Right spacing.
38
- attr_accessor :space_after
39
-
40
- # Spacing between lines.
41
- attr_accessor :space_within
42
-
43
- # First line indent.
44
- attr_accessor :indent
45
-
46
- # Text alignment.
47
- attr_accessor :alignment
48
-
49
- # Font alignment.
50
- attr_accessor :font_alignment
51
-
52
- # Default tabulation size.
53
- attr_accessor :default_tab_size
54
-
55
- # Depth.
56
- attr_accessor :depth
57
-
58
- # Bullet char.
59
- attr_accessor :bullet_char
60
-
61
- # Bullet height.
62
- attr_accessor :bullet_height
63
-
64
- # Bullet type.
65
- attr_accessor :bullet_type
66
-
67
- # Starting number for a numbered bullet.
68
- attr_accessor :numbered_bullet_start_with
69
-
70
- # Numbered bullet style.
71
- attr_accessor :numbered_bullet_style
72
-
73
- # True if hanging punctuation is used with the paragraph.
74
- attr_accessor :hanging_punctuation
75
-
76
- # True if East Asian line break is used with the paragraph.
77
- attr_accessor :east_asian_line_break
78
-
79
- # True if Latin line break is used with the paragraph.
80
- attr_accessor :latin_line_break
81
-
82
- # True if right to left direction is used with the paragraph.
83
- attr_accessor :right_to_left
84
-
85
- # List of portion links.
86
- attr_accessor :portion_list
87
-
88
- class EnumAttributeValidator
89
- attr_reader :datatype
90
- attr_reader :allowable_values
91
-
92
- def initialize(datatype, allowable_values)
93
- @allowable_values = allowable_values.map do |value|
94
- case datatype.to_s
95
- when /Integer/i
96
- value.to_i
97
- when /Float/i
98
- value.to_f
99
- else
100
- value
101
- end
102
- end
103
- end
104
-
105
- def valid?(value)
106
- !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
107
- end
108
- end
109
-
110
- # Attribute mapping from ruby-style variable name to JSON key.
111
- def self.attribute_map
112
- super.merge({
113
- :'margin_left' => :'MarginLeft',
114
- :'margin_right' => :'MarginRight',
115
- :'space_before' => :'SpaceBefore',
116
- :'space_after' => :'SpaceAfter',
117
- :'space_within' => :'SpaceWithin',
118
- :'indent' => :'Indent',
119
- :'alignment' => :'Alignment',
120
- :'font_alignment' => :'FontAlignment',
121
- :'default_tab_size' => :'DefaultTabSize',
122
- :'depth' => :'Depth',
123
- :'bullet_char' => :'BulletChar',
124
- :'bullet_height' => :'BulletHeight',
125
- :'bullet_type' => :'BulletType',
126
- :'numbered_bullet_start_with' => :'NumberedBulletStartWith',
127
- :'numbered_bullet_style' => :'NumberedBulletStyle',
128
- :'hanging_punctuation' => :'HangingPunctuation',
129
- :'east_asian_line_break' => :'EastAsianLineBreak',
130
- :'latin_line_break' => :'LatinLineBreak',
131
- :'right_to_left' => :'RightToLeft',
132
- :'portion_list' => :'PortionList',
133
- })
134
- end
135
-
136
- # Attribute type mapping.
137
- def self.swagger_types
138
- super.merge({
139
- :'margin_left' => :'Float',
140
- :'margin_right' => :'Float',
141
- :'space_before' => :'Float',
142
- :'space_after' => :'Float',
143
- :'space_within' => :'Float',
144
- :'indent' => :'Float',
145
- :'alignment' => :'String',
146
- :'font_alignment' => :'String',
147
- :'default_tab_size' => :'Float',
148
- :'depth' => :'Integer',
149
- :'bullet_char' => :'String',
150
- :'bullet_height' => :'Float',
151
- :'bullet_type' => :'String',
152
- :'numbered_bullet_start_with' => :'Integer',
153
- :'numbered_bullet_style' => :'String',
154
- :'hanging_punctuation' => :'String',
155
- :'east_asian_line_break' => :'String',
156
- :'latin_line_break' => :'String',
157
- :'right_to_left' => :'String',
158
- :'portion_list' => :'Array<Portion>',
159
- })
160
- end
161
-
162
- # Initializes the object
163
- # @param [Hash] attributes Model attributes in the form of hash
164
- def initialize(attributes = {})
165
- super
166
-
167
- if attributes.has_key?(:'MarginLeft')
168
- self.margin_left = attributes[:'MarginLeft']
169
- end
170
-
171
- if attributes.has_key?(:'MarginRight')
172
- self.margin_right = attributes[:'MarginRight']
173
- end
174
-
175
- if attributes.has_key?(:'SpaceBefore')
176
- self.space_before = attributes[:'SpaceBefore']
177
- end
178
-
179
- if attributes.has_key?(:'SpaceAfter')
180
- self.space_after = attributes[:'SpaceAfter']
181
- end
182
-
183
- if attributes.has_key?(:'SpaceWithin')
184
- self.space_within = attributes[:'SpaceWithin']
185
- end
186
-
187
- if attributes.has_key?(:'Indent')
188
- self.indent = attributes[:'Indent']
189
- end
190
-
191
- if attributes.has_key?(:'Alignment')
192
- self.alignment = attributes[:'Alignment']
193
- end
194
-
195
- if attributes.has_key?(:'FontAlignment')
196
- self.font_alignment = attributes[:'FontAlignment']
197
- end
198
-
199
- if attributes.has_key?(:'DefaultTabSize')
200
- self.default_tab_size = attributes[:'DefaultTabSize']
201
- end
202
-
203
- if attributes.has_key?(:'Depth')
204
- self.depth = attributes[:'Depth']
205
- end
206
-
207
- if attributes.has_key?(:'BulletChar')
208
- self.bullet_char = attributes[:'BulletChar']
209
- end
210
-
211
- if attributes.has_key?(:'BulletHeight')
212
- self.bullet_height = attributes[:'BulletHeight']
213
- end
214
-
215
- if attributes.has_key?(:'BulletType')
216
- self.bullet_type = attributes[:'BulletType']
217
- end
218
-
219
- if attributes.has_key?(:'NumberedBulletStartWith')
220
- self.numbered_bullet_start_with = attributes[:'NumberedBulletStartWith']
221
- end
222
-
223
- if attributes.has_key?(:'NumberedBulletStyle')
224
- self.numbered_bullet_style = attributes[:'NumberedBulletStyle']
225
- end
226
-
227
- if attributes.has_key?(:'HangingPunctuation')
228
- self.hanging_punctuation = attributes[:'HangingPunctuation']
229
- end
230
-
231
- if attributes.has_key?(:'EastAsianLineBreak')
232
- self.east_asian_line_break = attributes[:'EastAsianLineBreak']
233
- end
234
-
235
- if attributes.has_key?(:'LatinLineBreak')
236
- self.latin_line_break = attributes[:'LatinLineBreak']
237
- end
238
-
239
- if attributes.has_key?(:'RightToLeft')
240
- self.right_to_left = attributes[:'RightToLeft']
241
- end
242
-
243
- if attributes.has_key?(:'PortionList')
244
- if (value = attributes[:'PortionList']).is_a?(Array)
245
- self.portion_list = value
246
- end
247
- end
248
- end
249
-
250
- # Show invalid properties with the reasons. Usually used together with valid?
251
- # @return Array for valid properties with the reasons
252
- def list_invalid_properties
253
- invalid_properties = super
254
- invalid_properties
255
- end
256
-
257
- # Check to see if the all the properties in the model are valid
258
- # @return true if the model is valid
259
- def valid?
260
- return false if !super
261
- alignment_validator = EnumAttributeValidator.new('String', ['Left', 'Center', 'Right', 'Justify', 'JustifyLow', 'Distributed', 'NotDefined'])
262
- return false unless alignment_validator.valid?(@alignment)
263
- font_alignment_validator = EnumAttributeValidator.new('String', ['Automatic', 'Top', 'Center', 'Bottom', 'Baseline', 'Default'])
264
- return false unless font_alignment_validator.valid?(@font_alignment)
265
- bullet_type_validator = EnumAttributeValidator.new('String', ['None', 'Symbol', 'Numbered', 'Picture', 'NotDefined'])
266
- return false unless bullet_type_validator.valid?(@bullet_type)
267
- numbered_bullet_style_validator = EnumAttributeValidator.new('String', ['BulletAlphaLCPeriod', 'BulletAlphaUCPeriod', 'BulletArabicParenRight', 'BulletArabicPeriod', 'BulletRomanLCParenBoth', 'BulletRomanLCParenRight', 'BulletRomanLCPeriod', 'BulletRomanUCPeriod', 'BulletAlphaLCParenBoth', 'BulletAlphaLCParenRight', 'BulletAlphaUCParenBoth', 'BulletAlphaUCParenRight', 'BulletArabicParenBoth', 'BulletArabicPlain', 'BulletRomanUCParenBoth', 'BulletRomanUCParenRight', 'BulletSimpChinPlain', 'BulletSimpChinPeriod', 'BulletCircleNumDBPlain', 'BulletCircleNumWDWhitePlain', 'BulletCircleNumWDBlackPlain', 'BulletTradChinPlain', 'BulletTradChinPeriod', 'BulletArabicAlphaDash', 'BulletArabicAbjadDash', 'BulletHebrewAlphaDash', 'BulletKanjiKoreanPlain', 'BulletKanjiKoreanPeriod', 'BulletArabicDBPlain', 'BulletArabicDBPeriod', 'BulletThaiAlphaPeriod', 'BulletThaiAlphaParenRight', 'BulletThaiAlphaParenBoth', 'BulletThaiNumPeriod', 'BulletThaiNumParenRight', 'BulletThaiNumParenBoth', 'BulletHindiAlphaPeriod', 'BulletHindiNumPeriod', 'BulletKanjiSimpChinDBPeriod', 'BulletHindiNumParenRight', 'BulletHindiAlpha1Period', 'NotDefined'])
268
- return false unless numbered_bullet_style_validator.valid?(@numbered_bullet_style)
269
- hanging_punctuation_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
270
- return false unless hanging_punctuation_validator.valid?(@hanging_punctuation)
271
- east_asian_line_break_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
272
- return false unless east_asian_line_break_validator.valid?(@east_asian_line_break)
273
- latin_line_break_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
274
- return false unless latin_line_break_validator.valid?(@latin_line_break)
275
- right_to_left_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
276
- return false unless right_to_left_validator.valid?(@right_to_left)
277
- true
278
- end
279
-
280
- # Custom attribute writer method checking allowed values (enum).
281
- # @param [Object] alignment Object to be assigned
282
- def alignment=(alignment)
283
- validator = EnumAttributeValidator.new('String', ['Left', 'Center', 'Right', 'Justify', 'JustifyLow', 'Distributed', 'NotDefined'])
284
- unless validator.valid?(alignment)
285
- fail ArgumentError, 'invalid value for "alignment", must be one of #{validator.allowable_values}.'
286
- end
287
- @alignment = alignment
288
- end
289
-
290
- # Custom attribute writer method checking allowed values (enum).
291
- # @param [Object] font_alignment Object to be assigned
292
- def font_alignment=(font_alignment)
293
- validator = EnumAttributeValidator.new('String', ['Automatic', 'Top', 'Center', 'Bottom', 'Baseline', 'Default'])
294
- unless validator.valid?(font_alignment)
295
- fail ArgumentError, 'invalid value for "font_alignment", must be one of #{validator.allowable_values}.'
296
- end
297
- @font_alignment = font_alignment
298
- end
299
-
300
- # Custom attribute writer method checking allowed values (enum).
301
- # @param [Object] bullet_type Object to be assigned
302
- def bullet_type=(bullet_type)
303
- validator = EnumAttributeValidator.new('String', ['None', 'Symbol', 'Numbered', 'Picture', 'NotDefined'])
304
- unless validator.valid?(bullet_type)
305
- fail ArgumentError, 'invalid value for "bullet_type", must be one of #{validator.allowable_values}.'
306
- end
307
- @bullet_type = bullet_type
308
- end
309
-
310
- # Custom attribute writer method checking allowed values (enum).
311
- # @param [Object] numbered_bullet_style Object to be assigned
312
- def numbered_bullet_style=(numbered_bullet_style)
313
- validator = EnumAttributeValidator.new('String', ['BulletAlphaLCPeriod', 'BulletAlphaUCPeriod', 'BulletArabicParenRight', 'BulletArabicPeriod', 'BulletRomanLCParenBoth', 'BulletRomanLCParenRight', 'BulletRomanLCPeriod', 'BulletRomanUCPeriod', 'BulletAlphaLCParenBoth', 'BulletAlphaLCParenRight', 'BulletAlphaUCParenBoth', 'BulletAlphaUCParenRight', 'BulletArabicParenBoth', 'BulletArabicPlain', 'BulletRomanUCParenBoth', 'BulletRomanUCParenRight', 'BulletSimpChinPlain', 'BulletSimpChinPeriod', 'BulletCircleNumDBPlain', 'BulletCircleNumWDWhitePlain', 'BulletCircleNumWDBlackPlain', 'BulletTradChinPlain', 'BulletTradChinPeriod', 'BulletArabicAlphaDash', 'BulletArabicAbjadDash', 'BulletHebrewAlphaDash', 'BulletKanjiKoreanPlain', 'BulletKanjiKoreanPeriod', 'BulletArabicDBPlain', 'BulletArabicDBPeriod', 'BulletThaiAlphaPeriod', 'BulletThaiAlphaParenRight', 'BulletThaiAlphaParenBoth', 'BulletThaiNumPeriod', 'BulletThaiNumParenRight', 'BulletThaiNumParenBoth', 'BulletHindiAlphaPeriod', 'BulletHindiNumPeriod', 'BulletKanjiSimpChinDBPeriod', 'BulletHindiNumParenRight', 'BulletHindiAlpha1Period', 'NotDefined'])
314
- unless validator.valid?(numbered_bullet_style)
315
- fail ArgumentError, 'invalid value for "numbered_bullet_style", must be one of #{validator.allowable_values}.'
316
- end
317
- @numbered_bullet_style = numbered_bullet_style
318
- end
319
-
320
- # Custom attribute writer method checking allowed values (enum).
321
- # @param [Object] hanging_punctuation Object to be assigned
322
- def hanging_punctuation=(hanging_punctuation)
323
- validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
324
- unless validator.valid?(hanging_punctuation)
325
- fail ArgumentError, 'invalid value for "hanging_punctuation", must be one of #{validator.allowable_values}.'
326
- end
327
- @hanging_punctuation = hanging_punctuation
328
- end
329
-
330
- # Custom attribute writer method checking allowed values (enum).
331
- # @param [Object] east_asian_line_break Object to be assigned
332
- def east_asian_line_break=(east_asian_line_break)
333
- validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
334
- unless validator.valid?(east_asian_line_break)
335
- fail ArgumentError, 'invalid value for "east_asian_line_break", must be one of #{validator.allowable_values}.'
336
- end
337
- @east_asian_line_break = east_asian_line_break
338
- end
339
-
340
- # Custom attribute writer method checking allowed values (enum).
341
- # @param [Object] latin_line_break Object to be assigned
342
- def latin_line_break=(latin_line_break)
343
- validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
344
- unless validator.valid?(latin_line_break)
345
- fail ArgumentError, 'invalid value for "latin_line_break", must be one of #{validator.allowable_values}.'
346
- end
347
- @latin_line_break = latin_line_break
348
- end
349
-
350
- # Custom attribute writer method checking allowed values (enum).
351
- # @param [Object] right_to_left Object to be assigned
352
- def right_to_left=(right_to_left)
353
- validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
354
- unless validator.valid?(right_to_left)
355
- fail ArgumentError, 'invalid value for "right_to_left", must be one of #{validator.allowable_values}.'
356
- end
357
- @right_to_left = right_to_left
358
- end
359
-
360
- # Checks equality by comparing each attribute.
361
- # @param [Object] Object to be compared
362
- def ==(o)
363
- return true if self.equal?(o)
364
- self.class == o.class &&
365
- self_uri == o.self_uri &&
366
- alternate_links == o.alternate_links &&
367
- margin_left == o.margin_left &&
368
- margin_right == o.margin_right &&
369
- space_before == o.space_before &&
370
- space_after == o.space_after &&
371
- space_within == o.space_within &&
372
- indent == o.indent &&
373
- alignment == o.alignment &&
374
- font_alignment == o.font_alignment &&
375
- default_tab_size == o.default_tab_size &&
376
- depth == o.depth &&
377
- bullet_char == o.bullet_char &&
378
- bullet_height == o.bullet_height &&
379
- bullet_type == o.bullet_type &&
380
- numbered_bullet_start_with == o.numbered_bullet_start_with &&
381
- numbered_bullet_style == o.numbered_bullet_style &&
382
- hanging_punctuation == o.hanging_punctuation &&
383
- east_asian_line_break == o.east_asian_line_break &&
384
- latin_line_break == o.latin_line_break &&
385
- right_to_left == o.right_to_left &&
386
- portion_list == o.portion_list
387
- end
388
-
389
- # @see the `==` method
390
- # @param [Object] Object to be compared
391
- def eql?(o)
392
- self == o
393
- end
394
-
395
- # Calculates hash code according to all attributes.
396
- # @return [Fixnum] Hash code
397
- def hash
398
- [self_uri, alternate_links, margin_left, margin_right, space_before, space_after, space_within, indent, alignment, font_alignment, default_tab_size, depth, bullet_char, bullet_height, bullet_type, numbered_bullet_start_with, numbered_bullet_style, hanging_punctuation, east_asian_line_break, latin_line_break, right_to_left, portion_list].hash
399
- end
400
-
401
- # Builds the object from hash
402
- # @param [Hash] attributes Model attributes in the form of hash
403
- # @return [Object] Returns the model itself
404
- def build_from_hash(attributes)
405
- return nil unless attributes.is_a?(Hash)
406
- self.class.swagger_types.each_pair do |key, type|
407
- mapKey = self.class.attribute_map[key]
408
- if !mapKey.nil?
409
- val = attributes[mapKey]
410
- if val.nil?
411
- mapKeyString = mapKey.to_s
412
- mapKeyString[0] = mapKeyString[0].downcase
413
- mapKey = mapKeyString.to_sym
414
- val = attributes[mapKey]
415
- end
416
- if !val.nil?
417
- if type =~ /\AArray<(.*)>/i
418
- # check to ensure the input is an array given that the the attribute
419
- # is documented as an array but the input is not
420
- if val.is_a?(Array)
421
- self.send("#{key}=", val.map { |v| _deserialize($1, v) })
422
- end
423
- else
424
- self.send("#{key}=", _deserialize(type, val))
425
- end
426
- end
427
- end
428
- end
429
-
430
- self
431
- end
432
-
433
- # Deserializes the data based on type
434
- # @param string type Data type
435
- # @param string value Value to be deserialized
436
- # @return [Object] Deserialized data
437
- def _deserialize(type, value)
438
- case type.to_sym
439
- when :DateTime
440
- DateTime.parse(value)
441
- when :Date
442
- Date.parse(value)
443
- when :String
444
- value.to_s
445
- when :Integer
446
- value.to_i
447
- when :Float
448
- value.to_f
449
- when :BOOLEAN
450
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
451
- true
452
- else
453
- false
454
- end
455
- when :Object
456
- # generic object (usually a Hash), return directly
457
- value
458
- when /\AArray<(?<inner_type>.+)>\z/
459
- inner_type = Regexp.last_match[:inner_type]
460
- value.map { |v| _deserialize(inner_type, v) }
461
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
462
- k_type = Regexp.last_match[:k_type]
463
- v_type = Regexp.last_match[:v_type]
464
- {}.tap do |hash|
465
- value.each do |k, v|
466
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
467
- end
468
- end
469
- else # model
470
- registry_type = AsposeSlidesCloud::TypeRegistry.get_type(type.to_s, value)
471
- if registry_type
472
- type = registry_type
473
- end
474
- temp_model = AsposeSlidesCloud.const_get(type).new
475
- temp_model.build_from_hash(value)
476
- end
477
- end
478
-
479
- # Returns the string representation of the object
480
- # @return [String] String presentation of the object
481
- def to_s
482
- to_hash.to_s
483
- end
484
-
485
- # to_body is an alias to to_hash (backward compatibility)
486
- # @return [Hash] Returns the object in the form of hash
487
- def to_body
488
- to_hash
489
- end
490
-
491
- # Returns the object in the form of hash
492
- # @return [Hash] Returns the object in the form of hash
493
- def to_hash
494
- hash = {}
495
- self.class.attribute_map.each_pair do |attr, param|
496
- value = self.send(attr)
497
- next if value.nil?
498
- hash[param] = _to_hash(value)
499
- end
500
- hash
501
- end
502
-
503
- # Outputs non-array value in the form of hash
504
- # For object, use to_hash. Otherwise, just return the value
505
- # @param [Object] value Any valid value
506
- # @return [Hash] Returns the value in the form of hash
507
- def _to_hash(value)
508
- if value.is_a?(Array)
509
- value.compact.map { |v| _to_hash(v) }
510
- elsif value.is_a?(Hash)
511
- {}.tap do |hash|
512
- value.each { |k, v| hash[k] = _to_hash(v) }
513
- end
514
- elsif value.respond_to? :to_hash
515
- value.to_hash
516
- else
517
- value
518
- end
519
- end
520
- end
521
- 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
+ # Represents paragraph resource
27
+ class Paragraph < ResourceBase
28
+ # Left margin.
29
+ attr_accessor :margin_left
30
+
31
+ # Right margin.
32
+ attr_accessor :margin_right
33
+
34
+ # Left spacing.
35
+ attr_accessor :space_before
36
+
37
+ # Right spacing.
38
+ attr_accessor :space_after
39
+
40
+ # Spacing between lines.
41
+ attr_accessor :space_within
42
+
43
+ # First line indent.
44
+ attr_accessor :indent
45
+
46
+ # Text alignment.
47
+ attr_accessor :alignment
48
+
49
+ # Font alignment.
50
+ attr_accessor :font_alignment
51
+
52
+ # Default tabulation size.
53
+ attr_accessor :default_tab_size
54
+
55
+ # Depth.
56
+ attr_accessor :depth
57
+
58
+ # Bullet char.
59
+ attr_accessor :bullet_char
60
+
61
+ # Bullet height.
62
+ attr_accessor :bullet_height
63
+
64
+ # Bullet type.
65
+ attr_accessor :bullet_type
66
+
67
+ # Starting number for a numbered bullet.
68
+ attr_accessor :numbered_bullet_start_with
69
+
70
+ # Numbered bullet style.
71
+ attr_accessor :numbered_bullet_style
72
+
73
+ # True if hanging punctuation is used with the paragraph.
74
+ attr_accessor :hanging_punctuation
75
+
76
+ # True if East Asian line break is used with the paragraph.
77
+ attr_accessor :east_asian_line_break
78
+
79
+ # True if Latin line break is used with the paragraph.
80
+ attr_accessor :latin_line_break
81
+
82
+ # True if right to left direction is used with the paragraph.
83
+ attr_accessor :right_to_left
84
+
85
+ # List of portion links.
86
+ attr_accessor :portion_list
87
+
88
+ # Default portion format.
89
+ attr_accessor :default_portion_format
90
+
91
+ class EnumAttributeValidator
92
+ attr_reader :datatype
93
+ attr_reader :allowable_values
94
+
95
+ def initialize(datatype, allowable_values)
96
+ @allowable_values = allowable_values.map do |value|
97
+ case datatype.to_s
98
+ when /Integer/i
99
+ value.to_i
100
+ when /Float/i
101
+ value.to_f
102
+ else
103
+ value
104
+ end
105
+ end
106
+ end
107
+
108
+ def valid?(value)
109
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
110
+ end
111
+ end
112
+
113
+ # Attribute mapping from ruby-style variable name to JSON key.
114
+ def self.attribute_map
115
+ super.merge({
116
+ :'margin_left' => :'MarginLeft',
117
+ :'margin_right' => :'MarginRight',
118
+ :'space_before' => :'SpaceBefore',
119
+ :'space_after' => :'SpaceAfter',
120
+ :'space_within' => :'SpaceWithin',
121
+ :'indent' => :'Indent',
122
+ :'alignment' => :'Alignment',
123
+ :'font_alignment' => :'FontAlignment',
124
+ :'default_tab_size' => :'DefaultTabSize',
125
+ :'depth' => :'Depth',
126
+ :'bullet_char' => :'BulletChar',
127
+ :'bullet_height' => :'BulletHeight',
128
+ :'bullet_type' => :'BulletType',
129
+ :'numbered_bullet_start_with' => :'NumberedBulletStartWith',
130
+ :'numbered_bullet_style' => :'NumberedBulletStyle',
131
+ :'hanging_punctuation' => :'HangingPunctuation',
132
+ :'east_asian_line_break' => :'EastAsianLineBreak',
133
+ :'latin_line_break' => :'LatinLineBreak',
134
+ :'right_to_left' => :'RightToLeft',
135
+ :'portion_list' => :'PortionList',
136
+ :'default_portion_format' => :'DefaultPortionFormat',
137
+ })
138
+ end
139
+
140
+ # Attribute type mapping.
141
+ def self.swagger_types
142
+ super.merge({
143
+ :'margin_left' => :'Float',
144
+ :'margin_right' => :'Float',
145
+ :'space_before' => :'Float',
146
+ :'space_after' => :'Float',
147
+ :'space_within' => :'Float',
148
+ :'indent' => :'Float',
149
+ :'alignment' => :'String',
150
+ :'font_alignment' => :'String',
151
+ :'default_tab_size' => :'Float',
152
+ :'depth' => :'Integer',
153
+ :'bullet_char' => :'String',
154
+ :'bullet_height' => :'Float',
155
+ :'bullet_type' => :'String',
156
+ :'numbered_bullet_start_with' => :'Integer',
157
+ :'numbered_bullet_style' => :'String',
158
+ :'hanging_punctuation' => :'String',
159
+ :'east_asian_line_break' => :'String',
160
+ :'latin_line_break' => :'String',
161
+ :'right_to_left' => :'String',
162
+ :'portion_list' => :'Array<Portion>',
163
+ :'default_portion_format' => :'PortionFormat',
164
+ })
165
+ end
166
+
167
+ # Initializes the object
168
+ # @param [Hash] attributes Model attributes in the form of hash
169
+ def initialize(attributes = {})
170
+ super
171
+
172
+ if attributes.has_key?(:'MarginLeft')
173
+ self.margin_left = attributes[:'MarginLeft']
174
+ end
175
+
176
+ if attributes.has_key?(:'MarginRight')
177
+ self.margin_right = attributes[:'MarginRight']
178
+ end
179
+
180
+ if attributes.has_key?(:'SpaceBefore')
181
+ self.space_before = attributes[:'SpaceBefore']
182
+ end
183
+
184
+ if attributes.has_key?(:'SpaceAfter')
185
+ self.space_after = attributes[:'SpaceAfter']
186
+ end
187
+
188
+ if attributes.has_key?(:'SpaceWithin')
189
+ self.space_within = attributes[:'SpaceWithin']
190
+ end
191
+
192
+ if attributes.has_key?(:'Indent')
193
+ self.indent = attributes[:'Indent']
194
+ end
195
+
196
+ if attributes.has_key?(:'Alignment')
197
+ self.alignment = attributes[:'Alignment']
198
+ end
199
+
200
+ if attributes.has_key?(:'FontAlignment')
201
+ self.font_alignment = attributes[:'FontAlignment']
202
+ end
203
+
204
+ if attributes.has_key?(:'DefaultTabSize')
205
+ self.default_tab_size = attributes[:'DefaultTabSize']
206
+ end
207
+
208
+ if attributes.has_key?(:'Depth')
209
+ self.depth = attributes[:'Depth']
210
+ end
211
+
212
+ if attributes.has_key?(:'BulletChar')
213
+ self.bullet_char = attributes[:'BulletChar']
214
+ end
215
+
216
+ if attributes.has_key?(:'BulletHeight')
217
+ self.bullet_height = attributes[:'BulletHeight']
218
+ end
219
+
220
+ if attributes.has_key?(:'BulletType')
221
+ self.bullet_type = attributes[:'BulletType']
222
+ end
223
+
224
+ if attributes.has_key?(:'NumberedBulletStartWith')
225
+ self.numbered_bullet_start_with = attributes[:'NumberedBulletStartWith']
226
+ end
227
+
228
+ if attributes.has_key?(:'NumberedBulletStyle')
229
+ self.numbered_bullet_style = attributes[:'NumberedBulletStyle']
230
+ end
231
+
232
+ if attributes.has_key?(:'HangingPunctuation')
233
+ self.hanging_punctuation = attributes[:'HangingPunctuation']
234
+ end
235
+
236
+ if attributes.has_key?(:'EastAsianLineBreak')
237
+ self.east_asian_line_break = attributes[:'EastAsianLineBreak']
238
+ end
239
+
240
+ if attributes.has_key?(:'LatinLineBreak')
241
+ self.latin_line_break = attributes[:'LatinLineBreak']
242
+ end
243
+
244
+ if attributes.has_key?(:'RightToLeft')
245
+ self.right_to_left = attributes[:'RightToLeft']
246
+ end
247
+
248
+ if attributes.has_key?(:'PortionList')
249
+ if (value = attributes[:'PortionList']).is_a?(Array)
250
+ self.portion_list = value
251
+ end
252
+ end
253
+
254
+ if attributes.has_key?(:'DefaultPortionFormat')
255
+ self.default_portion_format = attributes[:'DefaultPortionFormat']
256
+ end
257
+ end
258
+
259
+ # Show invalid properties with the reasons. Usually used together with valid?
260
+ # @return Array for valid properties with the reasons
261
+ def list_invalid_properties
262
+ invalid_properties = super
263
+ invalid_properties
264
+ end
265
+
266
+ # Check to see if the all the properties in the model are valid
267
+ # @return true if the model is valid
268
+ def valid?
269
+ return false if !super
270
+ alignment_validator = EnumAttributeValidator.new('String', ['Left', 'Center', 'Right', 'Justify', 'JustifyLow', 'Distributed', 'NotDefined'])
271
+ return false unless alignment_validator.valid?(@alignment)
272
+ font_alignment_validator = EnumAttributeValidator.new('String', ['Automatic', 'Top', 'Center', 'Bottom', 'Baseline', 'Default'])
273
+ return false unless font_alignment_validator.valid?(@font_alignment)
274
+ bullet_type_validator = EnumAttributeValidator.new('String', ['None', 'Symbol', 'Numbered', 'Picture', 'NotDefined'])
275
+ return false unless bullet_type_validator.valid?(@bullet_type)
276
+ numbered_bullet_style_validator = EnumAttributeValidator.new('String', ['BulletAlphaLCPeriod', 'BulletAlphaUCPeriod', 'BulletArabicParenRight', 'BulletArabicPeriod', 'BulletRomanLCParenBoth', 'BulletRomanLCParenRight', 'BulletRomanLCPeriod', 'BulletRomanUCPeriod', 'BulletAlphaLCParenBoth', 'BulletAlphaLCParenRight', 'BulletAlphaUCParenBoth', 'BulletAlphaUCParenRight', 'BulletArabicParenBoth', 'BulletArabicPlain', 'BulletRomanUCParenBoth', 'BulletRomanUCParenRight', 'BulletSimpChinPlain', 'BulletSimpChinPeriod', 'BulletCircleNumDBPlain', 'BulletCircleNumWDWhitePlain', 'BulletCircleNumWDBlackPlain', 'BulletTradChinPlain', 'BulletTradChinPeriod', 'BulletArabicAlphaDash', 'BulletArabicAbjadDash', 'BulletHebrewAlphaDash', 'BulletKanjiKoreanPlain', 'BulletKanjiKoreanPeriod', 'BulletArabicDBPlain', 'BulletArabicDBPeriod', 'BulletThaiAlphaPeriod', 'BulletThaiAlphaParenRight', 'BulletThaiAlphaParenBoth', 'BulletThaiNumPeriod', 'BulletThaiNumParenRight', 'BulletThaiNumParenBoth', 'BulletHindiAlphaPeriod', 'BulletHindiNumPeriod', 'BulletKanjiSimpChinDBPeriod', 'BulletHindiNumParenRight', 'BulletHindiAlpha1Period', 'NotDefined'])
277
+ return false unless numbered_bullet_style_validator.valid?(@numbered_bullet_style)
278
+ hanging_punctuation_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
279
+ return false unless hanging_punctuation_validator.valid?(@hanging_punctuation)
280
+ east_asian_line_break_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
281
+ return false unless east_asian_line_break_validator.valid?(@east_asian_line_break)
282
+ latin_line_break_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
283
+ return false unless latin_line_break_validator.valid?(@latin_line_break)
284
+ right_to_left_validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
285
+ return false unless right_to_left_validator.valid?(@right_to_left)
286
+ true
287
+ end
288
+
289
+ # Custom attribute writer method checking allowed values (enum).
290
+ # @param [Object] alignment Object to be assigned
291
+ def alignment=(alignment)
292
+ validator = EnumAttributeValidator.new('String', ['Left', 'Center', 'Right', 'Justify', 'JustifyLow', 'Distributed', 'NotDefined'])
293
+ unless validator.valid?(alignment)
294
+ fail ArgumentError, 'invalid value for "alignment", must be one of #{validator.allowable_values}.'
295
+ end
296
+ @alignment = alignment
297
+ end
298
+
299
+ # Custom attribute writer method checking allowed values (enum).
300
+ # @param [Object] font_alignment Object to be assigned
301
+ def font_alignment=(font_alignment)
302
+ validator = EnumAttributeValidator.new('String', ['Automatic', 'Top', 'Center', 'Bottom', 'Baseline', 'Default'])
303
+ unless validator.valid?(font_alignment)
304
+ fail ArgumentError, 'invalid value for "font_alignment", must be one of #{validator.allowable_values}.'
305
+ end
306
+ @font_alignment = font_alignment
307
+ end
308
+
309
+ # Custom attribute writer method checking allowed values (enum).
310
+ # @param [Object] bullet_type Object to be assigned
311
+ def bullet_type=(bullet_type)
312
+ validator = EnumAttributeValidator.new('String', ['None', 'Symbol', 'Numbered', 'Picture', 'NotDefined'])
313
+ unless validator.valid?(bullet_type)
314
+ fail ArgumentError, 'invalid value for "bullet_type", must be one of #{validator.allowable_values}.'
315
+ end
316
+ @bullet_type = bullet_type
317
+ end
318
+
319
+ # Custom attribute writer method checking allowed values (enum).
320
+ # @param [Object] numbered_bullet_style Object to be assigned
321
+ def numbered_bullet_style=(numbered_bullet_style)
322
+ validator = EnumAttributeValidator.new('String', ['BulletAlphaLCPeriod', 'BulletAlphaUCPeriod', 'BulletArabicParenRight', 'BulletArabicPeriod', 'BulletRomanLCParenBoth', 'BulletRomanLCParenRight', 'BulletRomanLCPeriod', 'BulletRomanUCPeriod', 'BulletAlphaLCParenBoth', 'BulletAlphaLCParenRight', 'BulletAlphaUCParenBoth', 'BulletAlphaUCParenRight', 'BulletArabicParenBoth', 'BulletArabicPlain', 'BulletRomanUCParenBoth', 'BulletRomanUCParenRight', 'BulletSimpChinPlain', 'BulletSimpChinPeriod', 'BulletCircleNumDBPlain', 'BulletCircleNumWDWhitePlain', 'BulletCircleNumWDBlackPlain', 'BulletTradChinPlain', 'BulletTradChinPeriod', 'BulletArabicAlphaDash', 'BulletArabicAbjadDash', 'BulletHebrewAlphaDash', 'BulletKanjiKoreanPlain', 'BulletKanjiKoreanPeriod', 'BulletArabicDBPlain', 'BulletArabicDBPeriod', 'BulletThaiAlphaPeriod', 'BulletThaiAlphaParenRight', 'BulletThaiAlphaParenBoth', 'BulletThaiNumPeriod', 'BulletThaiNumParenRight', 'BulletThaiNumParenBoth', 'BulletHindiAlphaPeriod', 'BulletHindiNumPeriod', 'BulletKanjiSimpChinDBPeriod', 'BulletHindiNumParenRight', 'BulletHindiAlpha1Period', 'NotDefined'])
323
+ unless validator.valid?(numbered_bullet_style)
324
+ fail ArgumentError, 'invalid value for "numbered_bullet_style", must be one of #{validator.allowable_values}.'
325
+ end
326
+ @numbered_bullet_style = numbered_bullet_style
327
+ end
328
+
329
+ # Custom attribute writer method checking allowed values (enum).
330
+ # @param [Object] hanging_punctuation Object to be assigned
331
+ def hanging_punctuation=(hanging_punctuation)
332
+ validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
333
+ unless validator.valid?(hanging_punctuation)
334
+ fail ArgumentError, 'invalid value for "hanging_punctuation", must be one of #{validator.allowable_values}.'
335
+ end
336
+ @hanging_punctuation = hanging_punctuation
337
+ end
338
+
339
+ # Custom attribute writer method checking allowed values (enum).
340
+ # @param [Object] east_asian_line_break Object to be assigned
341
+ def east_asian_line_break=(east_asian_line_break)
342
+ validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
343
+ unless validator.valid?(east_asian_line_break)
344
+ fail ArgumentError, 'invalid value for "east_asian_line_break", must be one of #{validator.allowable_values}.'
345
+ end
346
+ @east_asian_line_break = east_asian_line_break
347
+ end
348
+
349
+ # Custom attribute writer method checking allowed values (enum).
350
+ # @param [Object] latin_line_break Object to be assigned
351
+ def latin_line_break=(latin_line_break)
352
+ validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
353
+ unless validator.valid?(latin_line_break)
354
+ fail ArgumentError, 'invalid value for "latin_line_break", must be one of #{validator.allowable_values}.'
355
+ end
356
+ @latin_line_break = latin_line_break
357
+ end
358
+
359
+ # Custom attribute writer method checking allowed values (enum).
360
+ # @param [Object] right_to_left Object to be assigned
361
+ def right_to_left=(right_to_left)
362
+ validator = EnumAttributeValidator.new('String', ['False', 'True', 'NotDefined'])
363
+ unless validator.valid?(right_to_left)
364
+ fail ArgumentError, 'invalid value for "right_to_left", must be one of #{validator.allowable_values}.'
365
+ end
366
+ @right_to_left = right_to_left
367
+ end
368
+
369
+ # Checks equality by comparing each attribute.
370
+ # @param [Object] Object to be compared
371
+ def ==(o)
372
+ return true if self.equal?(o)
373
+ self.class == o.class &&
374
+ self_uri == o.self_uri &&
375
+ alternate_links == o.alternate_links &&
376
+ margin_left == o.margin_left &&
377
+ margin_right == o.margin_right &&
378
+ space_before == o.space_before &&
379
+ space_after == o.space_after &&
380
+ space_within == o.space_within &&
381
+ indent == o.indent &&
382
+ alignment == o.alignment &&
383
+ font_alignment == o.font_alignment &&
384
+ default_tab_size == o.default_tab_size &&
385
+ depth == o.depth &&
386
+ bullet_char == o.bullet_char &&
387
+ bullet_height == o.bullet_height &&
388
+ bullet_type == o.bullet_type &&
389
+ numbered_bullet_start_with == o.numbered_bullet_start_with &&
390
+ numbered_bullet_style == o.numbered_bullet_style &&
391
+ hanging_punctuation == o.hanging_punctuation &&
392
+ east_asian_line_break == o.east_asian_line_break &&
393
+ latin_line_break == o.latin_line_break &&
394
+ right_to_left == o.right_to_left &&
395
+ portion_list == o.portion_list &&
396
+ default_portion_format == o.default_portion_format
397
+ end
398
+
399
+ # @see the `==` method
400
+ # @param [Object] Object to be compared
401
+ def eql?(o)
402
+ self == o
403
+ end
404
+
405
+ # Calculates hash code according to all attributes.
406
+ # @return [Fixnum] Hash code
407
+ def hash
408
+ [self_uri, alternate_links, margin_left, margin_right, space_before, space_after, space_within, indent, alignment, font_alignment, default_tab_size, depth, bullet_char, bullet_height, bullet_type, numbered_bullet_start_with, numbered_bullet_style, hanging_punctuation, east_asian_line_break, latin_line_break, right_to_left, portion_list, default_portion_format].hash
409
+ end
410
+
411
+ # Builds the object from hash
412
+ # @param [Hash] attributes Model attributes in the form of hash
413
+ # @return [Object] Returns the model itself
414
+ def build_from_hash(attributes)
415
+ return nil unless attributes.is_a?(Hash)
416
+ self.class.swagger_types.each_pair do |key, type|
417
+ mapKey = self.class.attribute_map[key]
418
+ if !mapKey.nil?
419
+ val = attributes[mapKey]
420
+ if val.nil?
421
+ mapKeyString = mapKey.to_s
422
+ mapKeyString[0] = mapKeyString[0].downcase
423
+ mapKey = mapKeyString.to_sym
424
+ val = attributes[mapKey]
425
+ end
426
+ if !val.nil?
427
+ if type =~ /\AArray<(.*)>/i
428
+ # check to ensure the input is an array given that the the attribute
429
+ # is documented as an array but the input is not
430
+ if val.is_a?(Array)
431
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
432
+ end
433
+ else
434
+ self.send("#{key}=", _deserialize(type, val))
435
+ end
436
+ end
437
+ end
438
+ end
439
+
440
+ self
441
+ end
442
+
443
+ # Deserializes the data based on type
444
+ # @param string type Data type
445
+ # @param string value Value to be deserialized
446
+ # @return [Object] Deserialized data
447
+ def _deserialize(type, value)
448
+ case type.to_sym
449
+ when :DateTime
450
+ DateTime.parse(value)
451
+ when :Date
452
+ Date.parse(value)
453
+ when :String
454
+ value.to_s
455
+ when :Integer
456
+ value.to_i
457
+ when :Float
458
+ value.to_f
459
+ when :BOOLEAN
460
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
461
+ true
462
+ else
463
+ false
464
+ end
465
+ when :Object
466
+ # generic object (usually a Hash), return directly
467
+ value
468
+ when /\AArray<(?<inner_type>.+)>\z/
469
+ inner_type = Regexp.last_match[:inner_type]
470
+ value.map { |v| _deserialize(inner_type, v) }
471
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
472
+ k_type = Regexp.last_match[:k_type]
473
+ v_type = Regexp.last_match[:v_type]
474
+ {}.tap do |hash|
475
+ value.each do |k, v|
476
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
477
+ end
478
+ end
479
+ else # model
480
+ registry_type = AsposeSlidesCloud::TypeRegistry.get_type(type.to_s, value)
481
+ if registry_type
482
+ type = registry_type
483
+ end
484
+ temp_model = AsposeSlidesCloud.const_get(type).new
485
+ temp_model.build_from_hash(value)
486
+ end
487
+ end
488
+
489
+ # Returns the string representation of the object
490
+ # @return [String] String presentation of the object
491
+ def to_s
492
+ to_hash.to_s
493
+ end
494
+
495
+ # to_body is an alias to to_hash (backward compatibility)
496
+ # @return [Hash] Returns the object in the form of hash
497
+ def to_body
498
+ to_hash
499
+ end
500
+
501
+ # Returns the object in the form of hash
502
+ # @return [Hash] Returns the object in the form of hash
503
+ def to_hash
504
+ hash = {}
505
+ self.class.attribute_map.each_pair do |attr, param|
506
+ value = self.send(attr)
507
+ next if value.nil?
508
+ hash[param] = _to_hash(value)
509
+ end
510
+ hash
511
+ end
512
+
513
+ # Outputs non-array value in the form of hash
514
+ # For object, use to_hash. Otherwise, just return the value
515
+ # @param [Object] value Any valid value
516
+ # @return [Hash] Returns the value in the form of hash
517
+ def _to_hash(value)
518
+ if value.is_a?(Array)
519
+ value.compact.map { |v| _to_hash(v) }
520
+ elsif value.is_a?(Hash)
521
+ {}.tap do |hash|
522
+ value.each { |k, v| hash[k] = _to_hash(v) }
523
+ end
524
+ elsif value.respond_to? :to_hash
525
+ value.to_hash
526
+ else
527
+ value
528
+ end
529
+ end
530
+ end
531
+ end