aspose_slides_cloud 22.5.0 → 22.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) 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 +120 -112
  7. data/Rakefile +8 -8
  8. data/TestData/TemplatingCVDataWithBase64.xml +22 -22
  9. data/aspose_slides_cloud.gemspec +56 -56
  10. data/docker-entrypoint.sh +7 -0
  11. data/lib/aspose_slides_cloud/api/slides_api.rb +19879 -19455
  12. data/lib/aspose_slides_cloud/api_client.rb +450 -450
  13. data/lib/aspose_slides_cloud/api_error.rb +48 -48
  14. data/lib/aspose_slides_cloud/configuration.rb +188 -188
  15. data/lib/aspose_slides_cloud/models/accent_element.rb +243 -243
  16. data/lib/aspose_slides_cloud/models/access_permissions.rb +321 -321
  17. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +248 -248
  18. data/lib/aspose_slides_cloud/models/add_master_slide.rb +263 -263
  19. data/lib/aspose_slides_cloud/models/add_shape.rb +243 -243
  20. data/lib/aspose_slides_cloud/models/add_slide.rb +273 -273
  21. data/lib/aspose_slides_cloud/models/alpha_bi_level_effect.rb +238 -238
  22. data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +223 -223
  23. data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +223 -223
  24. data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +223 -223
  25. data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +223 -223
  26. data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +238 -238
  27. data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +238 -238
  28. data/lib/aspose_slides_cloud/models/api_info.rb +221 -221
  29. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +283 -283
  30. data/lib/aspose_slides_cloud/models/array_element.rb +309 -309
  31. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +289 -289
  32. data/lib/aspose_slides_cloud/models/audio_frame.rb +395 -395
  33. data/lib/aspose_slides_cloud/models/axes.rb +241 -241
  34. data/lib/aspose_slides_cloud/models/axis.rb +723 -723
  35. data/lib/aspose_slides_cloud/models/bar_element.rb +255 -255
  36. data/lib/aspose_slides_cloud/models/base64_input_file.rb +234 -234
  37. data/lib/aspose_slides_cloud/models/bi_level_effect.rb +238 -238
  38. data/lib/aspose_slides_cloud/models/block_element.rb +235 -235
  39. data/lib/aspose_slides_cloud/models/blur_effect.rb +231 -231
  40. data/lib/aspose_slides_cloud/models/blur_image_effect.rb +253 -253
  41. data/lib/aspose_slides_cloud/models/border_box_element.rb +313 -313
  42. data/lib/aspose_slides_cloud/models/box_element.rb +283 -283
  43. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +216 -216
  44. data/lib/aspose_slides_cloud/models/bubble_series.rb +260 -260
  45. data/lib/aspose_slides_cloud/models/camera.rb +295 -295
  46. data/lib/aspose_slides_cloud/models/chart.rb +393 -371
  47. data/lib/aspose_slides_cloud/models/chart_category.rb +275 -275
  48. data/lib/aspose_slides_cloud/models/chart_lines_format.rb +221 -221
  49. data/lib/aspose_slides_cloud/models/chart_series_group.rb +399 -0
  50. data/lib/aspose_slides_cloud/models/chart_title.rb +226 -226
  51. data/lib/aspose_slides_cloud/models/chart_wall.rb +285 -285
  52. data/lib/aspose_slides_cloud/models/close_path_segment.rb +223 -223
  53. data/lib/aspose_slides_cloud/models/color_change_effect.rb +243 -243
  54. data/lib/aspose_slides_cloud/models/color_replace_effect.rb +233 -233
  55. data/lib/aspose_slides_cloud/models/color_scheme.rb +321 -321
  56. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +221 -221
  57. data/lib/aspose_slides_cloud/models/connector.rb +281 -281
  58. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +313 -313
  59. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +213 -213
  60. data/lib/aspose_slides_cloud/models/data_point.rb +201 -201
  61. data/lib/aspose_slides_cloud/models/delimiter_element.rb +297 -297
  62. data/lib/aspose_slides_cloud/models/disc_usage.rb +231 -231
  63. data/lib/aspose_slides_cloud/models/document.rb +261 -261
  64. data/lib/aspose_slides_cloud/models/document_properties.rb +213 -213
  65. data/lib/aspose_slides_cloud/models/document_property.rb +236 -236
  66. data/lib/aspose_slides_cloud/models/document_replace_result.rb +222 -222
  67. data/lib/aspose_slides_cloud/models/duotone_effect.rb +243 -243
  68. data/lib/aspose_slides_cloud/models/effect.rb +438 -438
  69. data/lib/aspose_slides_cloud/models/effect_format.rb +281 -281
  70. data/lib/aspose_slides_cloud/models/entity_exists.rb +216 -216
  71. data/lib/aspose_slides_cloud/models/error.rb +241 -241
  72. data/lib/aspose_slides_cloud/models/error_details.rb +226 -226
  73. data/lib/aspose_slides_cloud/models/export_format.rb +63 -63
  74. data/lib/aspose_slides_cloud/models/export_options.rb +232 -232
  75. data/lib/aspose_slides_cloud/models/file_version.rb +229 -229
  76. data/lib/aspose_slides_cloud/models/file_versions.rb +213 -213
  77. data/lib/aspose_slides_cloud/models/files_list.rb +213 -213
  78. data/lib/aspose_slides_cloud/models/files_upload_result.rb +225 -225
  79. data/lib/aspose_slides_cloud/models/fill_format.rb +244 -244
  80. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +250 -250
  81. data/lib/aspose_slides_cloud/models/fill_overlay_image_effect.rb +260 -260
  82. data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +243 -243
  83. data/lib/aspose_slides_cloud/models/font_scheme.rb +231 -231
  84. data/lib/aspose_slides_cloud/models/font_set.rb +231 -231
  85. data/lib/aspose_slides_cloud/models/format_scheme.rb +249 -249
  86. data/lib/aspose_slides_cloud/models/fraction_element.rb +265 -265
  87. data/lib/aspose_slides_cloud/models/function_element.rb +243 -243
  88. data/lib/aspose_slides_cloud/models/geometry_path.rb +267 -267
  89. data/lib/aspose_slides_cloud/models/geometry_paths.rb +213 -213
  90. data/lib/aspose_slides_cloud/models/geometry_shape.rb +266 -266
  91. data/lib/aspose_slides_cloud/models/gif_export_options.rb +235 -235
  92. data/lib/aspose_slides_cloud/models/glow_effect.rb +226 -226
  93. data/lib/aspose_slides_cloud/models/gradient_fill.rb +346 -346
  94. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +226 -226
  95. data/lib/aspose_slides_cloud/models/graphical_object.rb +240 -240
  96. data/lib/aspose_slides_cloud/models/gray_scale_effect.rb +223 -223
  97. data/lib/aspose_slides_cloud/models/group_shape.rb +250 -250
  98. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +287 -287
  99. data/lib/aspose_slides_cloud/models/header_footer.rb +251 -251
  100. data/lib/aspose_slides_cloud/models/hsl_effect.rb +268 -268
  101. data/lib/aspose_slides_cloud/models/html5_export_options.rb +223 -223
  102. data/lib/aspose_slides_cloud/models/html_export_options.rb +381 -381
  103. data/lib/aspose_slides_cloud/models/hyperlink.rb +352 -352
  104. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +201 -201
  105. data/lib/aspose_slides_cloud/models/image.rb +241 -241
  106. data/lib/aspose_slides_cloud/models/image_export_format.rb +43 -43
  107. data/lib/aspose_slides_cloud/models/image_export_options.rb +291 -291
  108. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +222 -222
  109. data/lib/aspose_slides_cloud/models/image_transform_effect.rb +244 -244
  110. data/lib/aspose_slides_cloud/models/images.rb +213 -213
  111. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +256 -256
  112. data/lib/aspose_slides_cloud/models/input.rb +231 -231
  113. data/lib/aspose_slides_cloud/models/input_file.rb +254 -254
  114. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +228 -228
  115. data/lib/aspose_slides_cloud/models/layout_slide.rb +282 -282
  116. data/lib/aspose_slides_cloud/models/layout_slides.rb +213 -213
  117. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +253 -253
  118. data/lib/aspose_slides_cloud/models/legend.rb +335 -335
  119. data/lib/aspose_slides_cloud/models/light_rig.rb +297 -297
  120. data/lib/aspose_slides_cloud/models/limit_element.rb +253 -253
  121. data/lib/aspose_slides_cloud/models/line_format.rb +415 -415
  122. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +253 -253
  123. data/lib/aspose_slides_cloud/models/luminance_effect.rb +253 -253
  124. data/lib/aspose_slides_cloud/models/master_slide.rb +235 -235
  125. data/lib/aspose_slides_cloud/models/master_slides.rb +213 -213
  126. data/lib/aspose_slides_cloud/models/math_element.rb +244 -244
  127. data/lib/aspose_slides_cloud/models/math_paragraph.rb +257 -257
  128. data/lib/aspose_slides_cloud/models/matrix_element.rb +341 -341
  129. data/lib/aspose_slides_cloud/models/merge.rb +235 -235
  130. data/lib/aspose_slides_cloud/models/merging_source.rb +223 -223
  131. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +253 -253
  132. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +315 -315
  133. data/lib/aspose_slides_cloud/models/no_fill.rb +223 -223
  134. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +221 -221
  135. data/lib/aspose_slides_cloud/models/notes_slide.rb +221 -221
  136. data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +43 -43
  137. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +271 -271
  138. data/lib/aspose_slides_cloud/models/object_exist.rb +231 -231
  139. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +335 -335
  140. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +234 -224
  141. data/lib/aspose_slides_cloud/models/one_value_series.rb +330 -330
  142. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +213 -213
  143. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +256 -256
  144. data/lib/aspose_slides_cloud/models/output_file.rb +244 -244
  145. data/lib/aspose_slides_cloud/models/paragraph.rb +531 -531
  146. data/lib/aspose_slides_cloud/models/paragraphs.rb +213 -213
  147. data/lib/aspose_slides_cloud/models/path_input_file.rb +244 -244
  148. data/lib/aspose_slides_cloud/models/path_output_file.rb +243 -243
  149. data/lib/aspose_slides_cloud/models/path_segment.rb +244 -244
  150. data/lib/aspose_slides_cloud/models/pattern_fill.rb +270 -270
  151. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +465 -465
  152. data/lib/aspose_slides_cloud/models/picture_fill.rb +367 -367
  153. data/lib/aspose_slides_cloud/models/picture_frame.rb +251 -251
  154. data/lib/aspose_slides_cloud/models/pipeline.rb +223 -223
  155. data/lib/aspose_slides_cloud/models/placeholder.rb +329 -329
  156. data/lib/aspose_slides_cloud/models/placeholders.rb +213 -213
  157. data/lib/aspose_slides_cloud/models/plot_area.rb +315 -315
  158. data/lib/aspose_slides_cloud/models/portion.rb +653 -653
  159. data/lib/aspose_slides_cloud/models/portion_format.rb +633 -633
  160. data/lib/aspose_slides_cloud/models/portions.rb +213 -213
  161. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +247 -247
  162. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +277 -277
  163. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +225 -225
  164. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +290 -290
  165. data/lib/aspose_slides_cloud/models/protection_properties.rb +271 -271
  166. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +283 -283
  167. data/lib/aspose_slides_cloud/models/radical_element.rb +253 -253
  168. data/lib/aspose_slides_cloud/models/reflection_effect.rb +445 -445
  169. data/lib/aspose_slides_cloud/models/remove_shape.rb +233 -233
  170. data/lib/aspose_slides_cloud/models/remove_slide.rb +238 -238
  171. data/lib/aspose_slides_cloud/models/reorder_slide.rb +253 -253
  172. data/lib/aspose_slides_cloud/models/replace_text.rb +273 -273
  173. data/lib/aspose_slides_cloud/models/request_input_file.rb +239 -239
  174. data/lib/aspose_slides_cloud/models/reset_slide.rb +238 -238
  175. data/lib/aspose_slides_cloud/models/resource_base.rb +223 -223
  176. data/lib/aspose_slides_cloud/models/resource_uri.rb +261 -261
  177. data/lib/aspose_slides_cloud/models/response_output_file.rb +223 -223
  178. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +263 -263
  179. data/lib/aspose_slides_cloud/models/save.rb +270 -270
  180. data/lib/aspose_slides_cloud/models/save_shape.rb +280 -280
  181. data/lib/aspose_slides_cloud/models/save_slide.rb +305 -305
  182. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +229 -229
  183. data/lib/aspose_slides_cloud/models/scatter_series.rb +250 -250
  184. data/lib/aspose_slides_cloud/models/section.rb +238 -238
  185. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +255 -255
  186. data/lib/aspose_slides_cloud/models/sections.rb +213 -213
  187. data/lib/aspose_slides_cloud/models/series.rb +386 -386
  188. data/lib/aspose_slides_cloud/models/series_marker.rb +285 -285
  189. data/lib/aspose_slides_cloud/models/shape.rb +271 -271
  190. data/lib/aspose_slides_cloud/models/shape_base.rb +399 -399
  191. data/lib/aspose_slides_cloud/models/shape_bevel.rb +265 -265
  192. data/lib/aspose_slides_cloud/models/shape_export_format.rb +44 -44
  193. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +275 -275
  194. data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +41 -41
  195. data/lib/aspose_slides_cloud/models/shape_type.rb +54 -54
  196. data/lib/aspose_slides_cloud/models/shapes.rb +213 -213
  197. data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +46 -46
  198. data/lib/aspose_slides_cloud/models/slide.rb +326 -326
  199. data/lib/aspose_slides_cloud/models/slide_animation.rb +225 -225
  200. data/lib/aspose_slides_cloud/models/slide_background.rb +270 -270
  201. data/lib/aspose_slides_cloud/models/slide_comment.rb +227 -227
  202. data/lib/aspose_slides_cloud/models/slide_comment_base.rb +286 -286
  203. data/lib/aspose_slides_cloud/models/slide_comments.rb +213 -213
  204. data/lib/aspose_slides_cloud/models/slide_export_format.rb +60 -60
  205. data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +269 -269
  206. data/lib/aspose_slides_cloud/models/slide_properties.rb +319 -319
  207. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +227 -227
  208. data/lib/aspose_slides_cloud/models/slides.rb +213 -213
  209. data/lib/aspose_slides_cloud/models/smart_art.rb +348 -348
  210. data/lib/aspose_slides_cloud/models/smart_art_node.rb +307 -307
  211. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +241 -241
  212. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +216 -216
  213. data/lib/aspose_slides_cloud/models/solid_fill.rb +233 -233
  214. data/lib/aspose_slides_cloud/models/special_slide_type.rb +41 -41
  215. data/lib/aspose_slides_cloud/models/split_document_result.rb +213 -213
  216. data/lib/aspose_slides_cloud/models/storage_exist.rb +216 -216
  217. data/lib/aspose_slides_cloud/models/storage_file.rb +261 -261
  218. data/lib/aspose_slides_cloud/models/subscript_element.rb +243 -243
  219. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +274 -274
  220. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +266 -266
  221. data/lib/aspose_slides_cloud/models/superscript_element.rb +243 -243
  222. data/lib/aspose_slides_cloud/models/svg_export_options.rb +339 -339
  223. data/lib/aspose_slides_cloud/models/swf_export_options.rb +449 -449
  224. data/lib/aspose_slides_cloud/models/table.rb +356 -356
  225. data/lib/aspose_slides_cloud/models/table_cell.rb +427 -427
  226. data/lib/aspose_slides_cloud/models/table_column.rb +216 -216
  227. data/lib/aspose_slides_cloud/models/table_row.rb +243 -243
  228. data/lib/aspose_slides_cloud/models/task.rb +244 -244
  229. data/lib/aspose_slides_cloud/models/text_bounds.rb +261 -261
  230. data/lib/aspose_slides_cloud/models/text_element.rb +233 -233
  231. data/lib/aspose_slides_cloud/models/text_frame_format.rb +255 -255
  232. data/lib/aspose_slides_cloud/models/text_item.rb +221 -221
  233. data/lib/aspose_slides_cloud/models/text_items.rb +213 -213
  234. data/lib/aspose_slides_cloud/models/theme.rb +241 -241
  235. data/lib/aspose_slides_cloud/models/three_d_format.rb +335 -335
  236. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +375 -375
  237. data/lib/aspose_slides_cloud/models/tint_effect.rb +253 -253
  238. data/lib/aspose_slides_cloud/models/update_background.rb +245 -245
  239. data/lib/aspose_slides_cloud/models/update_shape.rb +243 -243
  240. data/lib/aspose_slides_cloud/models/video_export_options.rb +289 -289
  241. data/lib/aspose_slides_cloud/models/video_frame.rb +345 -345
  242. data/lib/aspose_slides_cloud/models/view_properties.rb +361 -361
  243. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +213 -213
  244. data/lib/aspose_slides_cloud/models/xps_export_options.rb +233 -233
  245. data/lib/aspose_slides_cloud/models/xy_series.rb +255 -255
  246. data/lib/aspose_slides_cloud/models/zoom_frame.rb +255 -255
  247. data/lib/aspose_slides_cloud/models/zoom_object.rb +301 -301
  248. data/lib/aspose_slides_cloud/type_registry.rb +462 -461
  249. data/lib/aspose_slides_cloud/version.rb +25 -25
  250. data/lib/aspose_slides_cloud.rb +284 -283
  251. data/spec/api/slides_api_spec.rb +54650 -53418
  252. data/spec/spec_helper.rb +122 -122
  253. data/spec/spec_utils.rb +188 -188
  254. data/spec/use_cases/abstract_class_spec.rb +38 -38
  255. data/spec/use_cases/animation_spec.rb +193 -193
  256. data/spec/use_cases/auth_spec.rb +91 -91
  257. data/spec/use_cases/chart_spec.rb +291 -291
  258. data/spec/use_cases/convert_spec.rb +154 -154
  259. data/spec/use_cases/create_spec.rb +101 -101
  260. data/spec/use_cases/header_footer_spec.rb +78 -78
  261. data/spec/use_cases/hyperlink_spec.rb +92 -92
  262. data/spec/use_cases/image_spec.rb +102 -102
  263. data/spec/use_cases/layout_slide_spec.rb +190 -190
  264. data/spec/use_cases/master_slide_spec.rb +190 -190
  265. data/spec/use_cases/math_spec.rb +163 -163
  266. data/spec/use_cases/merge_spec.rb +105 -105
  267. data/spec/use_cases/notes_slide_spec.rb +172 -172
  268. data/spec/use_cases/nullable_field_spec.rb +86 -86
  269. data/spec/use_cases/pipeline_spec.rb +61 -61
  270. data/spec/use_cases/property_spec.rb +177 -177
  271. data/spec/use_cases/section_spec.rb +104 -104
  272. data/spec/use_cases/shape_format_spec.rb +126 -126
  273. data/spec/use_cases/shape_spec.rb +397 -397
  274. data/spec/use_cases/split_spec.rb +88 -88
  275. data/spec/use_cases/text_spec.rb +74 -74
  276. data/spec/use_cases/timeout_spec.rb +44 -44
  277. data/spec/use_cases/watermark_spec.rb +158 -158
  278. data/testConfig.json +7 -7
  279. data/testRules.json +530 -527
  280. metadata +10 -7
  281. data/.gitignore +0 -1
@@ -1,531 +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
- # 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
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