aspose_slides_cloud 23.4.0 → 23.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +30 -5
  3. data/README.md +4 -0
  4. data/TestData/macros.pptm +0 -0
  5. data/aspose_slides_cloud.gemspec +3 -1
  6. data/docker-entrypoint.sh +4 -3
  7. data/lib/aspose_slides_cloud/api/slides_api.rb +314 -0
  8. data/lib/aspose_slides_cloud/api_client.rb +3 -0
  9. data/lib/aspose_slides_cloud/models/accent_element.rb +0 -146
  10. data/lib/aspose_slides_cloud/models/access_permissions.rb +1 -125
  11. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +0 -146
  12. data/lib/aspose_slides_cloud/models/add_master_slide.rb +0 -146
  13. data/lib/aspose_slides_cloud/models/add_shape.rb +0 -146
  14. data/lib/aspose_slides_cloud/models/add_slide.rb +0 -146
  15. data/lib/aspose_slides_cloud/models/alpha_bi_level_effect.rb +0 -146
  16. data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +0 -146
  17. data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +0 -146
  18. data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +0 -146
  19. data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +0 -146
  20. data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +0 -146
  21. data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +0 -146
  22. data/lib/aspose_slides_cloud/models/api_info.rb +1 -125
  23. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +0 -146
  24. data/lib/aspose_slides_cloud/models/array_element.rb +0 -146
  25. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +1 -147
  26. data/lib/aspose_slides_cloud/models/audio_frame.rb +0 -146
  27. data/lib/aspose_slides_cloud/models/axes.rb +1 -125
  28. data/lib/aspose_slides_cloud/models/axis.rb +1 -147
  29. data/lib/aspose_slides_cloud/models/bar_element.rb +0 -146
  30. data/lib/aspose_slides_cloud/models/base64_input_file.rb +0 -146
  31. data/lib/aspose_slides_cloud/models/base_object.rb +173 -0
  32. data/lib/aspose_slides_cloud/models/bi_level_effect.rb +0 -146
  33. data/lib/aspose_slides_cloud/models/block_element.rb +0 -146
  34. data/lib/aspose_slides_cloud/models/blur_effect.rb +1 -125
  35. data/lib/aspose_slides_cloud/models/blur_image_effect.rb +0 -146
  36. data/lib/aspose_slides_cloud/models/border_box_element.rb +0 -146
  37. data/lib/aspose_slides_cloud/models/box_element.rb +0 -146
  38. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +0 -146
  39. data/lib/aspose_slides_cloud/models/bubble_series.rb +0 -146
  40. data/lib/aspose_slides_cloud/models/camera.rb +1 -147
  41. data/lib/aspose_slides_cloud/models/chart.rb +0 -146
  42. data/lib/aspose_slides_cloud/models/chart_category.rb +1 -125
  43. data/lib/aspose_slides_cloud/models/chart_lines_format.rb +1 -125
  44. data/lib/aspose_slides_cloud/models/chart_series_group.rb +1 -147
  45. data/lib/aspose_slides_cloud/models/chart_title.rb +1 -125
  46. data/lib/aspose_slides_cloud/models/chart_wall.rb +1 -147
  47. data/lib/aspose_slides_cloud/models/close_path_segment.rb +0 -146
  48. data/lib/aspose_slides_cloud/models/color_change_effect.rb +0 -146
  49. data/lib/aspose_slides_cloud/models/color_replace_effect.rb +0 -146
  50. data/lib/aspose_slides_cloud/models/color_scheme.rb +0 -124
  51. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +1 -125
  52. data/lib/aspose_slides_cloud/models/connector.rb +0 -146
  53. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +0 -146
  54. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +1 -125
  55. data/lib/aspose_slides_cloud/models/data_point.rb +1 -147
  56. data/lib/aspose_slides_cloud/models/data_source.rb +1 -147
  57. data/lib/aspose_slides_cloud/models/delimiter_element.rb +0 -146
  58. data/lib/aspose_slides_cloud/models/disc_usage.rb +1 -125
  59. data/lib/aspose_slides_cloud/models/document.rb +0 -124
  60. data/lib/aspose_slides_cloud/models/document_properties.rb +0 -124
  61. data/lib/aspose_slides_cloud/models/document_property.rb +0 -124
  62. data/lib/aspose_slides_cloud/models/document_replace_result.rb +0 -124
  63. data/lib/aspose_slides_cloud/models/duotone_effect.rb +0 -146
  64. data/lib/aspose_slides_cloud/models/effect.rb +1 -147
  65. data/lib/aspose_slides_cloud/models/effect_format.rb +1 -125
  66. data/lib/aspose_slides_cloud/models/entity_exists.rb +1 -125
  67. data/lib/aspose_slides_cloud/models/error.rb +1 -125
  68. data/lib/aspose_slides_cloud/models/error_details.rb +1 -125
  69. data/lib/aspose_slides_cloud/models/export_options.rb +1 -125
  70. data/lib/aspose_slides_cloud/models/file_version.rb +0 -124
  71. data/lib/aspose_slides_cloud/models/file_versions.rb +1 -125
  72. data/lib/aspose_slides_cloud/models/files_list.rb +1 -125
  73. data/lib/aspose_slides_cloud/models/files_upload_result.rb +1 -125
  74. data/lib/aspose_slides_cloud/models/fill_format.rb +1 -147
  75. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +1 -147
  76. data/lib/aspose_slides_cloud/models/fill_overlay_image_effect.rb +0 -146
  77. data/lib/aspose_slides_cloud/models/font_data.rb +1 -125
  78. data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +1 -125
  79. data/lib/aspose_slides_cloud/models/font_scheme.rb +0 -124
  80. data/lib/aspose_slides_cloud/models/font_set.rb +1 -125
  81. data/lib/aspose_slides_cloud/models/font_subst_rule.rb +1 -125
  82. data/lib/aspose_slides_cloud/models/fonts_data.rb +1 -125
  83. data/lib/aspose_slides_cloud/models/format_scheme.rb +0 -124
  84. data/lib/aspose_slides_cloud/models/fraction_element.rb +0 -146
  85. data/lib/aspose_slides_cloud/models/function_element.rb +0 -146
  86. data/lib/aspose_slides_cloud/models/geometry_path.rb +1 -147
  87. data/lib/aspose_slides_cloud/models/geometry_paths.rb +1 -125
  88. data/lib/aspose_slides_cloud/models/geometry_shape.rb +0 -146
  89. data/lib/aspose_slides_cloud/models/gif_export_options.rb +0 -124
  90. data/lib/aspose_slides_cloud/models/glow_effect.rb +1 -125
  91. data/lib/aspose_slides_cloud/models/gradient_fill.rb +0 -146
  92. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +1 -125
  93. data/lib/aspose_slides_cloud/models/graphical_object.rb +0 -146
  94. data/lib/aspose_slides_cloud/models/gray_scale_effect.rb +0 -146
  95. data/lib/aspose_slides_cloud/models/group_shape.rb +0 -146
  96. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +0 -146
  97. data/lib/aspose_slides_cloud/models/header_footer.rb +0 -124
  98. data/lib/aspose_slides_cloud/models/hsl_effect.rb +0 -146
  99. data/lib/aspose_slides_cloud/models/html5_export_options.rb +0 -124
  100. data/lib/aspose_slides_cloud/models/html_export_options.rb +0 -146
  101. data/lib/aspose_slides_cloud/models/hyperlink.rb +1 -147
  102. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +1 -125
  103. data/lib/aspose_slides_cloud/models/image.rb +0 -124
  104. data/lib/aspose_slides_cloud/models/image_export_options.rb +0 -146
  105. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +0 -124
  106. data/lib/aspose_slides_cloud/models/image_transform_effect.rb +1 -147
  107. data/lib/aspose_slides_cloud/models/images.rb +0 -124
  108. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +1 -125
  109. data/lib/aspose_slides_cloud/models/input.rb +1 -125
  110. data/lib/aspose_slides_cloud/models/input_file.rb +1 -147
  111. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +1 -125
  112. data/lib/aspose_slides_cloud/models/layout_slide.rb +0 -146
  113. data/lib/aspose_slides_cloud/models/layout_slides.rb +0 -124
  114. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +0 -146
  115. data/lib/aspose_slides_cloud/models/legend.rb +1 -147
  116. data/lib/aspose_slides_cloud/models/light_rig.rb +1 -147
  117. data/lib/aspose_slides_cloud/models/limit_element.rb +0 -146
  118. data/lib/aspose_slides_cloud/models/line_format.rb +1 -147
  119. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +0 -146
  120. data/lib/aspose_slides_cloud/models/literals.rb +0 -146
  121. data/lib/aspose_slides_cloud/models/luminance_effect.rb +0 -146
  122. data/lib/aspose_slides_cloud/models/master_slide.rb +0 -124
  123. data/lib/aspose_slides_cloud/models/master_slides.rb +0 -124
  124. data/lib/aspose_slides_cloud/models/math_element.rb +1 -147
  125. data/lib/aspose_slides_cloud/models/math_paragraph.rb +1 -147
  126. data/lib/aspose_slides_cloud/models/matrix_element.rb +0 -146
  127. data/lib/aspose_slides_cloud/models/merge.rb +0 -146
  128. data/lib/aspose_slides_cloud/models/merging_source.rb +1 -125
  129. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +0 -146
  130. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +0 -146
  131. data/lib/aspose_slides_cloud/models/no_fill.rb +0 -146
  132. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +1 -125
  133. data/lib/aspose_slides_cloud/models/notes_slide.rb +0 -124
  134. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +0 -124
  135. data/lib/aspose_slides_cloud/models/object_exist.rb +1 -125
  136. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +0 -146
  137. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +0 -146
  138. data/lib/aspose_slides_cloud/models/one_value_series.rb +0 -146
  139. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +1 -125
  140. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +1 -125
  141. data/lib/aspose_slides_cloud/models/output_file.rb +1 -147
  142. data/lib/aspose_slides_cloud/models/paragraph.rb +0 -146
  143. data/lib/aspose_slides_cloud/models/paragraph_format.rb +1 -147
  144. data/lib/aspose_slides_cloud/models/paragraphs.rb +0 -124
  145. data/lib/aspose_slides_cloud/models/path_input_file.rb +0 -146
  146. data/lib/aspose_slides_cloud/models/path_output_file.rb +0 -146
  147. data/lib/aspose_slides_cloud/models/path_segment.rb +1 -147
  148. data/lib/aspose_slides_cloud/models/pattern_fill.rb +0 -146
  149. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +0 -146
  150. data/lib/aspose_slides_cloud/models/picture_fill.rb +0 -146
  151. data/lib/aspose_slides_cloud/models/picture_frame.rb +0 -146
  152. data/lib/aspose_slides_cloud/models/pipeline.rb +1 -125
  153. data/lib/aspose_slides_cloud/models/placeholder.rb +0 -146
  154. data/lib/aspose_slides_cloud/models/placeholders.rb +0 -124
  155. data/lib/aspose_slides_cloud/models/plot_area.rb +1 -147
  156. data/lib/aspose_slides_cloud/models/portion.rb +0 -146
  157. data/lib/aspose_slides_cloud/models/portion_format.rb +1 -147
  158. data/lib/aspose_slides_cloud/models/portions.rb +0 -124
  159. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +0 -146
  160. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +1 -147
  161. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +1 -125
  162. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +1 -147
  163. data/lib/aspose_slides_cloud/models/protection_properties.rb +0 -124
  164. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +0 -146
  165. data/lib/aspose_slides_cloud/models/radical_element.rb +0 -146
  166. data/lib/aspose_slides_cloud/models/reflection_effect.rb +1 -147
  167. data/lib/aspose_slides_cloud/models/remove_shape.rb +0 -146
  168. data/lib/aspose_slides_cloud/models/remove_slide.rb +0 -146
  169. data/lib/aspose_slides_cloud/models/reorder_slide.rb +0 -146
  170. data/lib/aspose_slides_cloud/models/replace_text.rb +0 -146
  171. data/lib/aspose_slides_cloud/models/request_input_file.rb +0 -146
  172. data/lib/aspose_slides_cloud/models/reset_slide.rb +0 -146
  173. data/lib/aspose_slides_cloud/models/resource_base.rb +1 -125
  174. data/lib/aspose_slides_cloud/models/resource_uri.rb +1 -125
  175. data/lib/aspose_slides_cloud/models/response_output_file.rb +0 -146
  176. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +0 -146
  177. data/lib/aspose_slides_cloud/models/save.rb +0 -146
  178. data/lib/aspose_slides_cloud/models/save_shape.rb +0 -146
  179. data/lib/aspose_slides_cloud/models/save_slide.rb +0 -146
  180. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +0 -146
  181. data/lib/aspose_slides_cloud/models/scatter_series.rb +0 -146
  182. data/lib/aspose_slides_cloud/models/section.rb +0 -124
  183. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +0 -146
  184. data/lib/aspose_slides_cloud/models/sections.rb +0 -124
  185. data/lib/aspose_slides_cloud/models/series.rb +1 -147
  186. data/lib/aspose_slides_cloud/models/series_marker.rb +1 -147
  187. data/lib/aspose_slides_cloud/models/shape.rb +0 -146
  188. data/lib/aspose_slides_cloud/models/shape_base.rb +0 -146
  189. data/lib/aspose_slides_cloud/models/shape_bevel.rb +1 -147
  190. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +1 -147
  191. data/lib/aspose_slides_cloud/models/shapes.rb +0 -124
  192. data/lib/aspose_slides_cloud/models/slide.rb +0 -124
  193. data/lib/aspose_slides_cloud/models/slide_animation.rb +0 -124
  194. data/lib/aspose_slides_cloud/models/slide_background.rb +0 -146
  195. data/lib/aspose_slides_cloud/models/slide_comment.rb +0 -146
  196. data/lib/aspose_slides_cloud/models/slide_comment_base.rb +1 -147
  197. data/lib/aspose_slides_cloud/models/slide_comments.rb +0 -124
  198. data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +0 -146
  199. data/lib/aspose_slides_cloud/models/slide_properties.rb +0 -146
  200. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +0 -124
  201. data/lib/aspose_slides_cloud/models/slide_show_properties.rb +0 -146
  202. data/lib/aspose_slides_cloud/models/slides.rb +0 -124
  203. data/lib/aspose_slides_cloud/models/smart_art.rb +0 -146
  204. data/lib/aspose_slides_cloud/models/smart_art_node.rb +1 -147
  205. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +0 -146
  206. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +1 -125
  207. data/lib/aspose_slides_cloud/models/solid_fill.rb +0 -146
  208. data/lib/aspose_slides_cloud/models/split_document_result.rb +0 -124
  209. data/lib/aspose_slides_cloud/models/storage_exist.rb +1 -125
  210. data/lib/aspose_slides_cloud/models/storage_file.rb +1 -125
  211. data/lib/aspose_slides_cloud/models/subscript_element.rb +0 -146
  212. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +0 -146
  213. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +0 -146
  214. data/lib/aspose_slides_cloud/models/superscript_element.rb +0 -146
  215. data/lib/aspose_slides_cloud/models/svg_export_options.rb +0 -146
  216. data/lib/aspose_slides_cloud/models/swf_export_options.rb +0 -146
  217. data/lib/aspose_slides_cloud/models/table.rb +0 -146
  218. data/lib/aspose_slides_cloud/models/table_cell.rb +1 -147
  219. data/lib/aspose_slides_cloud/models/table_cell_merge_options.rb +1 -125
  220. data/lib/aspose_slides_cloud/models/table_column.rb +1 -125
  221. data/lib/aspose_slides_cloud/models/table_row.rb +1 -125
  222. data/lib/aspose_slides_cloud/models/task.rb +1 -147
  223. data/lib/aspose_slides_cloud/models/text_bounds.rb +1 -125
  224. data/lib/aspose_slides_cloud/models/text_element.rb +0 -146
  225. data/lib/aspose_slides_cloud/models/text_frame_format.rb +1 -147
  226. data/lib/aspose_slides_cloud/models/text_item.rb +1 -125
  227. data/lib/aspose_slides_cloud/models/text_items.rb +0 -124
  228. data/lib/aspose_slides_cloud/models/theme.rb +0 -124
  229. data/lib/aspose_slides_cloud/models/three_d_format.rb +1 -147
  230. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +0 -146
  231. data/lib/aspose_slides_cloud/models/tint_effect.rb +0 -146
  232. data/lib/aspose_slides_cloud/models/update_background.rb +0 -146
  233. data/lib/aspose_slides_cloud/models/update_shape.rb +0 -146
  234. data/lib/aspose_slides_cloud/models/vba_module.rb +113 -0
  235. data/lib/aspose_slides_cloud/models/vba_project.rb +105 -0
  236. data/lib/aspose_slides_cloud/models/vba_reference.rb +101 -0
  237. data/lib/aspose_slides_cloud/models/video_export_options.rb +0 -146
  238. data/lib/aspose_slides_cloud/models/video_frame.rb +0 -146
  239. data/lib/aspose_slides_cloud/models/view_properties.rb +0 -146
  240. data/lib/aspose_slides_cloud/models/workbook.rb +0 -146
  241. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +0 -124
  242. data/lib/aspose_slides_cloud/models/xps_export_options.rb +0 -124
  243. data/lib/aspose_slides_cloud/models/xy_series.rb +0 -146
  244. data/lib/aspose_slides_cloud/models/zoom_frame.rb +0 -146
  245. data/lib/aspose_slides_cloud/models/zoom_object.rb +0 -146
  246. data/lib/aspose_slides_cloud/type_registry.rb +5 -0
  247. data/lib/aspose_slides_cloud/version.rb +1 -1
  248. data/lib/aspose_slides_cloud.rb +4 -0
  249. data/spec/api/slides_api_spec.rb +722 -0
  250. data/spec/use_cases/auth_spec.rb +15 -0
  251. data/spec/use_cases/vba_spec.rb +94 -0
  252. data/testConfig.json +2 -2
  253. data/testRules.json +5 -0
  254. metadata +53 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d6c26a696a733cb6aa140318cbda31d15cac3ff6d208deb28d8dddb0e2e01f8
4
- data.tar.gz: 3f3d96fd5a8cb3e6ebb1f5deba18d1008d9765a096223bc54d9036f98899d82a
3
+ metadata.gz: b1c1e1af4c71458529a07f4fc9b6fae823eff361ec3ffb0a154d11f43a0419a6
4
+ data.tar.gz: 489f10d97840be220bf096e246747fce4e2a080a28b21c1c1b370d2095f07ef9
5
5
  SHA512:
6
- metadata.gz: 5dc2706746cd7d9f57fbfdad90dd10f96283e73902a3e8098bffe7c75b3a170b4d465b8cbcb72cd76cea4916331426b3c0d68c955713118fbef05c72fbb1935d
7
- data.tar.gz: 2083a739ff01b69571ce6f62398bc3965a1e90139d23eba9bd116061ff241d3344e21bc0b54d2c2ef26f3f405b6d1b5a652ca455a6fce917a3adb8b6b95d4c72
6
+ metadata.gz: 622ceaec28bf5d62289105e0f9b2d55d4d411f6e3bfd4f2dfc42f446865b955e309166ab5c11f602ddb5f2891adbdd133aee07de752a89582afc512d978306f4
7
+ data.tar.gz: 0eb8c52acc3e8300c3507bdecf939adcbdf7d292c55d1fc0fb123eb678eb267ae7a47c5672b33688dedfccc524f1a3fb78002862e65942e177195865252a9668
data/Gemfile.lock CHANGED
@@ -1,8 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aspose_slides_cloud (23.4.0)
5
- faraday (~> 0.17, >= 0.17.3)
4
+ aspose_slides_cloud (23.6.0)
5
+ faraday (~> 1.0, >= 1.0.0)
6
+ faraday-httpclient (~> 1.0, >= 1.0.0)
7
+ httpclient (~> 2.2, >= 2.2.0)
6
8
  json (~> 2.1, >= 2.1.0)
7
9
 
8
10
  GEM
@@ -20,10 +22,32 @@ GEM
20
22
  crack (0.4.5)
21
23
  rexml
22
24
  diff-lcs (1.5.0)
23
- faraday (0.17.6)
24
- multipart-post (>= 1.2, < 3)
25
+ faraday (1.10.3)
26
+ faraday-em_http (~> 1.0)
27
+ faraday-em_synchrony (~> 1.0)
28
+ faraday-excon (~> 1.1)
29
+ faraday-httpclient (~> 1.0)
30
+ faraday-multipart (~> 1.0)
31
+ faraday-net_http (~> 1.0)
32
+ faraday-net_http_persistent (~> 1.0)
33
+ faraday-patron (~> 1.0)
34
+ faraday-rack (~> 1.0)
35
+ faraday-retry (~> 1.0)
36
+ ruby2_keywords (>= 0.0.4)
37
+ faraday-em_http (1.0.0)
38
+ faraday-em_synchrony (1.0.0)
39
+ faraday-excon (1.1.0)
40
+ faraday-httpclient (1.0.1)
41
+ faraday-multipart (1.0.4)
42
+ multipart-post (~> 2)
43
+ faraday-net_http (1.0.1)
44
+ faraday-net_http_persistent (1.2.0)
45
+ faraday-patron (1.0.0)
46
+ faraday-rack (1.0.0)
47
+ faraday-retry (1.0.3)
25
48
  ffi (1.15.5)
26
49
  hashdiff (1.0.1)
50
+ httpclient (2.8.3)
27
51
  json (2.6.3)
28
52
  multipart-post (2.3.0)
29
53
  public_suffix (5.0.1)
@@ -41,9 +65,10 @@ GEM
41
65
  rspec-mocks (3.12.5)
42
66
  diff-lcs (>= 1.2.0, < 2.0)
43
67
  rspec-support (~> 3.12.0)
44
- rspec-support (3.12.0)
68
+ rspec-support (3.12.1)
45
69
  rspec_junit_formatter (0.6.0)
46
70
  rspec-core (>= 2, < 4, != 2.12.0)
71
+ ruby2_keywords (0.0.5)
47
72
  rubyzip (2.3.2)
48
73
  sys-uname (1.2.3)
49
74
  ffi (~> 1.1)
data/README.md CHANGED
@@ -27,6 +27,10 @@ You may want to check out Aspose free [Powerpoint to PDF](https://products.aspos
27
27
  **Web:** HTML/HTML5
28
28
  **Other:** MPEG4, SWF (export whole presentations)
29
29
 
30
+ ## Enhancements in Version 23.6
31
+
32
+ * Added methods ho handle VBA methods: **GetVbaProject**, **GetVbaModule**, **CreateVbaModule**, **UpdateVbaModule** and **DeleteVbaModule**. Added model classes related to VBA: **VbaProject**, **VbaModule** and **VbaReference**.
33
+
30
34
  ## Enhancements in Version 23.4
31
35
 
32
36
  * Added **CreateTableRow**, **UpdateTableRow** and **DeleteTableRow** methods to add, update and delete table rows.
Binary file
@@ -37,7 +37,9 @@ Gem::Specification.new do |s|
37
37
  s.license = "MIT"
38
38
  s.required_ruby_version = ">= 1.9"
39
39
 
40
- s.add_dependency 'faraday', '~> 0.17', '>= 0.17.3'
40
+ s.add_dependency 'faraday', '~> 1.0', '>= 1.0.0'
41
+ s.add_dependency 'faraday-httpclient', '~> 1.0', '>= 1.0.0'
42
+ s.add_dependency 'httpclient', '~> 2.2', '>= 2.2.0'
41
43
  s.add_dependency 'json', '~> 2.1', '>= 2.1.0'
42
44
 
43
45
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
data/docker-entrypoint.sh CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- sed -i "s/@your_client_id@/${CLIENT_ID}/g" testConfig.json
4
- sed -i "s/@your_client_secret@/${CLIENT_SECRET}/g" testConfig.json
5
- if [ -n "$BASE_URL" ] ; then sed -i "s+https://api-qa.aspose.cloud+${BASE_URL}+g" testConfig.json ; fi
3
+ sed -i 's~@your_client_id@~'"${CLIENT_ID}"'~g' testConfig.json
4
+ sed -i 's~@your_client_secret@~'"${CLIENT_SECRET}"'~g' testConfig.json
5
+ sed -i 's~@base_url@~'"${BASE_URL}"'~g' testConfig.json
6
+ sed -i 's~@base_auth_url@~'"${BASE_AUTH_URL}"'~g' testConfig.json
6
7
 
7
8
  mkdir testResults
8
9
  rspec spec --format RspecJunitFormatter --out testResults/rspec.xml
@@ -3138,6 +3138,69 @@ module AsposeSlidesCloud
3138
3138
  :return_type => 'TableRow')
3139
3139
  return data, status_code, headers
3140
3140
  end
3141
+ # Append module to VBA project
3142
+ # @param name Document name.
3143
+ # @param module_dto VBA module DTO.
3144
+ # @param password Document password.
3145
+ # @param folder Document folder.
3146
+ # @param storage Document storage.
3147
+ def create_vba_module(name, module_dto, password = nil, folder = nil, storage = nil)
3148
+ data, _status_code, _headers = create_vba_module_with_http_info(name, module_dto, password, folder, storage)
3149
+ data
3150
+ end
3151
+
3152
+ # Append module to VBA project
3153
+ # @param name Document name.
3154
+ # @param module_dto VBA module DTO.
3155
+ # @param password Document password.
3156
+ # @param folder Document folder.
3157
+ # @param storage Document storage.
3158
+ def create_vba_module_with_http_info(name, module_dto, password = nil, folder = nil, storage = nil)
3159
+ if @api_client.config.debugging
3160
+ @api_client.config.logger.debug 'Calling API: SlidesApi.create_vba_module ...'
3161
+ end
3162
+
3163
+ # verify the required parameter 'name' is set
3164
+ if @api_client.config.client_side_validation && name.nil?
3165
+ fail ArgumentError, "Missing the required parameter 'name' when calling SlidesApi.create_vba_module"
3166
+ end
3167
+ # verify the required parameter 'module_dto' is set
3168
+ if @api_client.config.client_side_validation && module_dto.nil?
3169
+ fail ArgumentError, "Missing the required parameter 'module_dto' when calling SlidesApi.create_vba_module"
3170
+ end
3171
+ # resource path
3172
+ local_var_path = '/slides/{name}/vbaProject/modules'
3173
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
3174
+
3175
+ # query parameters
3176
+ query_params = {}
3177
+ query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
3178
+ query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
3179
+
3180
+ # header parameters
3181
+ header_params = {}
3182
+ # HTTP header 'Accept' (if needed)
3183
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3184
+ # HTTP header 'Content-Type'
3185
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3186
+ header_params[:'password'] = password unless password.nil?
3187
+
3188
+ # http body (model)
3189
+ post_body = @api_client.object_to_http_body(module_dto)
3190
+
3191
+ # form parameters
3192
+ post_files = []
3193
+
3194
+ auth_names = ['JWT']
3195
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
3196
+ :header_params => header_params,
3197
+ :query_params => query_params,
3198
+ :body => post_body,
3199
+ :files => post_files,
3200
+ :auth_names => auth_names,
3201
+ :return_type => 'VbaModule')
3202
+ return data, status_code, headers
3203
+ end
3141
3204
  # Adds a text watermark to each slide of the presentation. Text watermark can be setup via method arguments or withing Shape DTO for detailed customization. Both options are applicable simultaneously.
3142
3205
  # @param name Document name.
3143
3206
  # @param shape Shape DTO
@@ -7091,6 +7154,70 @@ module AsposeSlidesCloud
7091
7154
  :return_type => 'File')
7092
7155
  return data, status_code, headers
7093
7156
  end
7157
+ # Delete module from VBA project.
7158
+ # @param name Document name.
7159
+ # @param module_index The index of the macros module to remove.
7160
+ # @param password Document password.
7161
+ # @param folder Document folder.
7162
+ # @param storage Document storage.
7163
+ def delete_vba_module(name, module_index, password = nil, folder = nil, storage = nil)
7164
+ data, _status_code, _headers = delete_vba_module_with_http_info(name, module_index, password, folder, storage)
7165
+ data
7166
+ end
7167
+
7168
+ # Delete module from VBA project.
7169
+ # @param name Document name.
7170
+ # @param module_index The index of the macros module to remove.
7171
+ # @param password Document password.
7172
+ # @param folder Document folder.
7173
+ # @param storage Document storage.
7174
+ def delete_vba_module_with_http_info(name, module_index, password = nil, folder = nil, storage = nil)
7175
+ if @api_client.config.debugging
7176
+ @api_client.config.logger.debug 'Calling API: SlidesApi.delete_vba_module ...'
7177
+ end
7178
+
7179
+ # verify the required parameter 'name' is set
7180
+ if @api_client.config.client_side_validation && name.nil?
7181
+ fail ArgumentError, "Missing the required parameter 'name' when calling SlidesApi.delete_vba_module"
7182
+ end
7183
+ # verify the required parameter 'module_index' is set
7184
+ if @api_client.config.client_side_validation && module_index.nil?
7185
+ fail ArgumentError, "Missing the required parameter 'module_index' when calling SlidesApi.delete_vba_module"
7186
+ end
7187
+ # resource path
7188
+ local_var_path = '/slides/{name}/vbaProject/modules/{moduleIndex}'
7189
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
7190
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'moduleIndex', module_index)
7191
+
7192
+ # query parameters
7193
+ query_params = {}
7194
+ query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
7195
+ query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
7196
+
7197
+ # header parameters
7198
+ header_params = {}
7199
+ # HTTP header 'Accept' (if needed)
7200
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
7201
+ # HTTP header 'Content-Type'
7202
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
7203
+ header_params[:'password'] = password unless password.nil?
7204
+
7205
+ # http body (model)
7206
+ post_body = nil
7207
+
7208
+ # form parameters
7209
+ post_files = []
7210
+
7211
+ auth_names = ['JWT']
7212
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
7213
+ :header_params => header_params,
7214
+ :query_params => query_params,
7215
+ :body => post_body,
7216
+ :files => post_files,
7217
+ :auth_names => auth_names,
7218
+ :return_type => 'VbaProject')
7219
+ return data, status_code, headers
7220
+ end
7094
7221
  # Removes shapes with name \"watermark\" from the presentation.
7095
7222
  # @param name Document name.
7096
7223
  # @param shape_name Name of the watermark shape. If null, default value \"watermark\"is used.
@@ -12648,6 +12775,127 @@ module AsposeSlidesCloud
12648
12775
  :return_type => 'Theme')
12649
12776
  return data, status_code, headers
12650
12777
  end
12778
+ # Get VBA module info.
12779
+ # @param name Document name.
12780
+ # @param module_index The index of the macros module to remove.
12781
+ # @param password Document password.
12782
+ # @param folder Document folder.
12783
+ # @param storage Document storage.
12784
+ def get_vba_module(name, module_index, password = nil, folder = nil, storage = nil)
12785
+ data, _status_code, _headers = get_vba_module_with_http_info(name, module_index, password, folder, storage)
12786
+ data
12787
+ end
12788
+
12789
+ # Get VBA module info.
12790
+ # @param name Document name.
12791
+ # @param module_index The index of the macros module to remove.
12792
+ # @param password Document password.
12793
+ # @param folder Document folder.
12794
+ # @param storage Document storage.
12795
+ def get_vba_module_with_http_info(name, module_index, password = nil, folder = nil, storage = nil)
12796
+ if @api_client.config.debugging
12797
+ @api_client.config.logger.debug 'Calling API: SlidesApi.get_vba_module ...'
12798
+ end
12799
+
12800
+ # verify the required parameter 'name' is set
12801
+ if @api_client.config.client_side_validation && name.nil?
12802
+ fail ArgumentError, "Missing the required parameter 'name' when calling SlidesApi.get_vba_module"
12803
+ end
12804
+ # verify the required parameter 'module_index' is set
12805
+ if @api_client.config.client_side_validation && module_index.nil?
12806
+ fail ArgumentError, "Missing the required parameter 'module_index' when calling SlidesApi.get_vba_module"
12807
+ end
12808
+ # resource path
12809
+ local_var_path = '/slides/{name}/vbaProject/modules/{moduleIndex}'
12810
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
12811
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'moduleIndex', module_index)
12812
+
12813
+ # query parameters
12814
+ query_params = {}
12815
+ query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
12816
+ query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
12817
+
12818
+ # header parameters
12819
+ header_params = {}
12820
+ # HTTP header 'Accept' (if needed)
12821
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
12822
+ # HTTP header 'Content-Type'
12823
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
12824
+ header_params[:'password'] = password unless password.nil?
12825
+
12826
+ # http body (model)
12827
+ post_body = nil
12828
+
12829
+ # form parameters
12830
+ post_files = []
12831
+
12832
+ auth_names = ['JWT']
12833
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
12834
+ :header_params => header_params,
12835
+ :query_params => query_params,
12836
+ :body => post_body,
12837
+ :files => post_files,
12838
+ :auth_names => auth_names,
12839
+ :return_type => 'VbaModule')
12840
+ return data, status_code, headers
12841
+ end
12842
+ # Get VBA project info.
12843
+ # @param name Document name.
12844
+ # @param password Document password.
12845
+ # @param folder Document folder.
12846
+ # @param storage Document storage.
12847
+ def get_vba_project(name, password = nil, folder = nil, storage = nil)
12848
+ data, _status_code, _headers = get_vba_project_with_http_info(name, password, folder, storage)
12849
+ data
12850
+ end
12851
+
12852
+ # Get VBA project info.
12853
+ # @param name Document name.
12854
+ # @param password Document password.
12855
+ # @param folder Document folder.
12856
+ # @param storage Document storage.
12857
+ def get_vba_project_with_http_info(name, password = nil, folder = nil, storage = nil)
12858
+ if @api_client.config.debugging
12859
+ @api_client.config.logger.debug 'Calling API: SlidesApi.get_vba_project ...'
12860
+ end
12861
+
12862
+ # verify the required parameter 'name' is set
12863
+ if @api_client.config.client_side_validation && name.nil?
12864
+ fail ArgumentError, "Missing the required parameter 'name' when calling SlidesApi.get_vba_project"
12865
+ end
12866
+ # resource path
12867
+ local_var_path = '/slides/{name}/vbaProject'
12868
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
12869
+
12870
+ # query parameters
12871
+ query_params = {}
12872
+ query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
12873
+ query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
12874
+
12875
+ # header parameters
12876
+ header_params = {}
12877
+ # HTTP header 'Accept' (if needed)
12878
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
12879
+ # HTTP header 'Content-Type'
12880
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
12881
+ header_params[:'password'] = password unless password.nil?
12882
+
12883
+ # http body (model)
12884
+ post_body = nil
12885
+
12886
+ # form parameters
12887
+ post_files = []
12888
+
12889
+ auth_names = ['JWT']
12890
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
12891
+ :header_params => header_params,
12892
+ :query_params => query_params,
12893
+ :body => post_body,
12894
+ :files => post_files,
12895
+ :auth_names => auth_names,
12896
+ :return_type => 'VbaProject')
12897
+ return data, status_code, headers
12898
+ end
12651
12899
  # Read presentation view properties.
12652
12900
  # @param name Document name.
12653
12901
  # @param password Document password.
@@ -19015,6 +19263,72 @@ module AsposeSlidesCloud
19015
19263
  :return_type => 'TableRow')
19016
19264
  return data, status_code, headers
19017
19265
  end
19266
+ # Update VBA module.
19267
+ # @param name Document name.
19268
+ # @param module_index The index of the macros module to remove.
19269
+ # @param module_dto VBA module DTO.
19270
+ # @param password Document password.
19271
+ # @param folder Document folder.
19272
+ # @param storage Document storage.
19273
+ def update_vba_module(name, module_index, module_dto = nil, password = nil, folder = nil, storage = nil)
19274
+ data, _status_code, _headers = update_vba_module_with_http_info(name, module_index, module_dto, password, folder, storage)
19275
+ data
19276
+ end
19277
+
19278
+ # Update VBA module.
19279
+ # @param name Document name.
19280
+ # @param module_index The index of the macros module to remove.
19281
+ # @param module_dto VBA module DTO.
19282
+ # @param password Document password.
19283
+ # @param folder Document folder.
19284
+ # @param storage Document storage.
19285
+ def update_vba_module_with_http_info(name, module_index, module_dto = nil, password = nil, folder = nil, storage = nil)
19286
+ if @api_client.config.debugging
19287
+ @api_client.config.logger.debug 'Calling API: SlidesApi.update_vba_module ...'
19288
+ end
19289
+
19290
+ # verify the required parameter 'name' is set
19291
+ if @api_client.config.client_side_validation && name.nil?
19292
+ fail ArgumentError, "Missing the required parameter 'name' when calling SlidesApi.update_vba_module"
19293
+ end
19294
+ # verify the required parameter 'module_index' is set
19295
+ if @api_client.config.client_side_validation && module_index.nil?
19296
+ fail ArgumentError, "Missing the required parameter 'module_index' when calling SlidesApi.update_vba_module"
19297
+ end
19298
+ # resource path
19299
+ local_var_path = '/slides/{name}/vbaProject/modules/{moduleIndex}'
19300
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'name', name)
19301
+ local_var_path = @api_client.replace_path_parameter(local_var_path, 'moduleIndex', module_index)
19302
+
19303
+ # query parameters
19304
+ query_params = {}
19305
+ query_params[:'folder'] = @api_client.prepare_for_query(folder) unless folder.nil?
19306
+ query_params[:'storage'] = @api_client.prepare_for_query(storage) unless storage.nil?
19307
+
19308
+ # header parameters
19309
+ header_params = {}
19310
+ # HTTP header 'Accept' (if needed)
19311
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
19312
+ # HTTP header 'Content-Type'
19313
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
19314
+ header_params[:'password'] = password unless password.nil?
19315
+
19316
+ # http body (model)
19317
+ post_body = @api_client.object_to_http_body(module_dto)
19318
+
19319
+ # form parameters
19320
+ post_files = []
19321
+
19322
+ auth_names = ['JWT']
19323
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
19324
+ :header_params => header_params,
19325
+ :query_params => query_params,
19326
+ :body => post_body,
19327
+ :files => post_files,
19328
+ :auth_names => auth_names,
19329
+ :return_type => 'VbaModule')
19330
+ return data, status_code, headers
19331
+ end
19018
19332
  # Upload file
19019
19333
  # @param path Path where to upload including filename and extension e.g. /file.ext or /Folder 1/file.ext If the content is multipart and path does not contains the file name it tries to get them from filename parameter from Content-Disposition header.
19020
19334
  # @param file File to upload
@@ -25,8 +25,11 @@ require 'json'
25
25
  require 'logger'
26
26
  require 'tempfile'
27
27
  require 'faraday'
28
+ require 'faraday/httpclient'
28
29
  require 'uri'
29
30
 
31
+ Faraday.default_adapter = :httpclient
32
+
30
33
  module AsposeSlidesCloud
31
34
  class ApiClient
32
35
  # The Configuration object holding settings to be used in the API client.
@@ -31,28 +31,6 @@ module AsposeSlidesCloud
31
31
  # Accent Character
32
32
  attr_accessor :character
33
33
 
34
- class EnumAttributeValidator
35
- attr_reader :datatype
36
- attr_reader :allowable_values
37
-
38
- def initialize(datatype, allowable_values)
39
- @allowable_values = allowable_values.map do |value|
40
- case datatype.to_s
41
- when /Integer/i
42
- value.to_i
43
- when /Float/i
44
- value.to_f
45
- else
46
- value
47
- end
48
- end
49
- end
50
-
51
- def valid?(value)
52
- !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
53
- end
54
- end
55
-
56
34
  # Attribute mapping from ruby-style variable name to JSON key.
57
35
  def self.attribute_map
58
36
  super.merge({
@@ -119,129 +97,5 @@ module AsposeSlidesCloud
119
97
  def hash
120
98
  [type, base, character].hash
121
99
  end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def build_from_hash(attributes)
127
- return nil unless attributes.is_a?(Hash)
128
- self.class.swagger_types.each_pair do |key, type|
129
- mapKey = self.class.attribute_map[key]
130
- if !mapKey.nil?
131
- val = attributes[mapKey]
132
- if val.nil?
133
- mapKeyString = mapKey.to_s
134
- mapKeyString[0] = mapKeyString[0].downcase
135
- mapKey = mapKeyString.to_sym
136
- val = attributes[mapKey]
137
- end
138
- if !val.nil?
139
- if type =~ /\AArray<(.*)>/i
140
- # check to ensure the input is an array given that the the attribute
141
- # is documented as an array but the input is not
142
- if val.is_a?(Array)
143
- self.send("#{key}=", val.map { |v| _deserialize($1, v) })
144
- end
145
- else
146
- self.send("#{key}=", _deserialize(type, val))
147
- end
148
- end
149
- end
150
- end
151
-
152
- self
153
- end
154
-
155
- # Deserializes the data based on type
156
- # @param string type Data type
157
- # @param string value Value to be deserialized
158
- # @return [Object] Deserialized data
159
- def _deserialize(type, value)
160
- if value.nil?
161
- nil
162
- else
163
- case type.to_sym
164
- when :DateTime
165
- DateTime.parse(value)
166
- when :Date
167
- Date.parse(value)
168
- when :String
169
- value.to_s
170
- when :Integer
171
- value.to_i
172
- when :Float
173
- value.to_f
174
- when :BOOLEAN
175
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
176
- true
177
- else
178
- false
179
- end
180
- when :Object
181
- # generic object (usually a Hash), return directly
182
- value
183
- when /\AArray<(?<inner_type>.+)>\z/
184
- inner_type = Regexp.last_match[:inner_type]
185
- value.map { |v| _deserialize(inner_type, v) }
186
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
187
- k_type = Regexp.last_match[:k_type]
188
- v_type = Regexp.last_match[:v_type]
189
- {}.tap do |hash|
190
- value.each do |k, v|
191
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
192
- end
193
- end
194
- else # model
195
- registry_type = AsposeSlidesCloud::TypeRegistry.get_type(type.to_s, value)
196
- if registry_type
197
- type = registry_type
198
- end
199
- temp_model = AsposeSlidesCloud.const_get(type).new
200
- temp_model.build_from_hash(value)
201
- end
202
- end
203
- end
204
-
205
- # Returns the string representation of the object
206
- # @return [String] String presentation of the object
207
- def to_s
208
- to_hash.to_s
209
- end
210
-
211
- # to_body is an alias to to_hash (backward compatibility)
212
- # @return [Hash] Returns the object in the form of hash
213
- def to_body
214
- to_hash
215
- end
216
-
217
- # Returns the object in the form of hash
218
- # @return [Hash] Returns the object in the form of hash
219
- def to_hash
220
- hash = {}
221
- self.class.attribute_map.each_pair do |attr, param|
222
- value = self.send(attr)
223
- next if value.nil?
224
- hash[param] = _to_hash(value)
225
- end
226
- hash
227
- end
228
-
229
- # Outputs non-array value in the form of hash
230
- # For object, use to_hash. Otherwise, just return the value
231
- # @param [Object] value Any valid value
232
- # @return [Hash] Returns the value in the form of hash
233
- def _to_hash(value)
234
- if value.is_a?(Array)
235
- value.compact.map { |v| _to_hash(v) }
236
- elsif value.is_a?(Hash)
237
- {}.tap do |hash|
238
- value.each { |k, v| hash[k] = _to_hash(v) }
239
- end
240
- elsif value.respond_to? :to_hash
241
- value.to_hash
242
- else
243
- value
244
- end
245
- end
246
100
  end
247
101
  end