aspose_cells_cloud 20.9 → 20.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose_cells_cloud.rb +296 -296
  3. data/lib/aspose_cells_cloud/api/cells_api.rb +19867 -19868
  4. data/lib/aspose_cells_cloud/api_client.rb +489 -489
  5. data/lib/aspose_cells_cloud/api_error.rb +18 -8
  6. data/lib/aspose_cells_cloud/configuration.rb +178 -178
  7. data/lib/aspose_cells_cloud/models/above_average.rb +234 -234
  8. data/lib/aspose_cells_cloud/models/access_token_response.rb +261 -261
  9. data/lib/aspose_cells_cloud/models/area.rb +243 -243
  10. data/lib/aspose_cells_cloud/models/auto_filter.rb +227 -227
  11. data/lib/aspose_cells_cloud/models/auto_filter_response.rb +221 -221
  12. data/lib/aspose_cells_cloud/models/auto_fitter_options.rb +231 -231
  13. data/lib/aspose_cells_cloud/models/auto_shape.rb +504 -504
  14. data/lib/aspose_cells_cloud/models/auto_shape_response.rb +221 -221
  15. data/lib/aspose_cells_cloud/models/auto_shapes.rb +209 -209
  16. data/lib/aspose_cells_cloud/models/auto_shapes_response.rb +221 -221
  17. data/lib/aspose_cells_cloud/models/border.rb +216 -216
  18. data/lib/aspose_cells_cloud/models/calculation_options.rb +225 -225
  19. data/lib/aspose_cells_cloud/models/cell.rb +401 -401
  20. data/lib/aspose_cells_cloud/models/cell_area.rb +245 -245
  21. data/lib/aspose_cells_cloud/models/cell_response.rb +221 -221
  22. data/lib/aspose_cells_cloud/models/cell_value.rb +234 -234
  23. data/lib/aspose_cells_cloud/models/cells.rb +270 -270
  24. data/lib/aspose_cells_cloud/models/cells_cloud_file_info.rb +230 -230
  25. data/lib/aspose_cells_cloud/models/cells_cloud_response.rb +212 -212
  26. data/lib/aspose_cells_cloud/models/cells_color.rb +234 -234
  27. data/lib/aspose_cells_cloud/models/cells_document_properties.rb +209 -209
  28. data/lib/aspose_cells_cloud/models/cells_document_properties_response.rb +221 -221
  29. data/lib/aspose_cells_cloud/models/cells_document_property.rb +225 -225
  30. data/lib/aspose_cells_cloud/models/cells_document_property_response.rb +221 -221
  31. data/lib/aspose_cells_cloud/models/cells_error.rb +229 -229
  32. data/lib/aspose_cells_cloud/models/cells_object_operate_task_parameter.rb +216 -216
  33. data/lib/aspose_cells_cloud/models/cells_response.rb +221 -221
  34. data/lib/aspose_cells_cloud/models/chart.rb +626 -626
  35. data/lib/aspose_cells_cloud/models/chart_area.rb +317 -317
  36. data/lib/aspose_cells_cloud/models/chart_area_response.rb +221 -221
  37. data/lib/aspose_cells_cloud/models/chart_frame.rb +317 -317
  38. data/lib/aspose_cells_cloud/models/chart_operate_parameter.rb +279 -279
  39. data/lib/aspose_cells_cloud/models/charts.rb +209 -209
  40. data/lib/aspose_cells_cloud/models/charts_response.rb +221 -221
  41. data/lib/aspose_cells_cloud/models/color.rb +245 -245
  42. data/lib/aspose_cells_cloud/models/color_filter.rb +234 -234
  43. data/lib/aspose_cells_cloud/models/color_filter_request.rb +216 -216
  44. data/lib/aspose_cells_cloud/models/color_scale.rb +249 -249
  45. data/lib/aspose_cells_cloud/models/column.rb +243 -243
  46. data/lib/aspose_cells_cloud/models/column_response.rb +221 -221
  47. data/lib/aspose_cells_cloud/models/columns.rb +237 -237
  48. data/lib/aspose_cells_cloud/models/columns_response.rb +221 -221
  49. data/lib/aspose_cells_cloud/models/comment.rb +297 -297
  50. data/lib/aspose_cells_cloud/models/comment_response.rb +221 -221
  51. data/lib/aspose_cells_cloud/models/comments.rb +209 -209
  52. data/lib/aspose_cells_cloud/models/comments_response.rb +221 -221
  53. data/lib/aspose_cells_cloud/models/conditional_formatting.rb +218 -218
  54. data/lib/aspose_cells_cloud/models/conditional_formatting_icon.rb +235 -235
  55. data/lib/aspose_cells_cloud/models/conditional_formatting_response.rb +221 -221
  56. data/lib/aspose_cells_cloud/models/conditional_formatting_value.rb +219 -219
  57. data/lib/aspose_cells_cloud/models/conditional_formattings.rb +223 -223
  58. data/lib/aspose_cells_cloud/models/conditional_formattings_response.rb +221 -221
  59. data/lib/aspose_cells_cloud/models/convert_task_parameter.rb +216 -216
  60. data/lib/aspose_cells_cloud/models/copy_options.rb +248 -248
  61. data/lib/aspose_cells_cloud/models/create_pivot_table_request.rb +263 -263
  62. data/lib/aspose_cells_cloud/models/custom_filter.rb +207 -207
  63. data/lib/aspose_cells_cloud/models/custom_parser_config.rb +216 -216
  64. data/lib/aspose_cells_cloud/models/data_bar.rb +309 -309
  65. data/lib/aspose_cells_cloud/models/data_bar_border.rb +209 -209
  66. data/lib/aspose_cells_cloud/models/data_sorter.rb +227 -227
  67. data/lib/aspose_cells_cloud/models/dif_save_options.rb +265 -265
  68. data/lib/aspose_cells_cloud/models/disc_usage.rb +219 -219
  69. data/lib/aspose_cells_cloud/models/dynamic_filter.rb +216 -216
  70. data/lib/aspose_cells_cloud/models/error_details.rb +214 -214
  71. data/lib/aspose_cells_cloud/models/file_source.rb +207 -207
  72. data/lib/aspose_cells_cloud/models/file_version.rb +274 -274
  73. data/lib/aspose_cells_cloud/models/file_versions.rb +201 -201
  74. data/lib/aspose_cells_cloud/models/files_list.rb +201 -201
  75. data/lib/aspose_cells_cloud/models/files_upload_result.rb +213 -213
  76. data/lib/aspose_cells_cloud/models/fill_format.rb +259 -259
  77. data/lib/aspose_cells_cloud/models/fill_format_response.rb +221 -221
  78. data/lib/aspose_cells_cloud/models/filter_column.rb +277 -277
  79. data/lib/aspose_cells_cloud/models/font.rb +279 -279
  80. data/lib/aspose_cells_cloud/models/font_setting.rb +244 -244
  81. data/lib/aspose_cells_cloud/models/format_condition.rb +327 -327
  82. data/lib/aspose_cells_cloud/models/gradient_fill.rb +227 -227
  83. data/lib/aspose_cells_cloud/models/gradient_fill_stop.rb +226 -226
  84. data/lib/aspose_cells_cloud/models/horizontal_page_break.rb +231 -231
  85. data/lib/aspose_cells_cloud/models/horizontal_page_break_response.rb +221 -221
  86. data/lib/aspose_cells_cloud/models/horizontal_page_breaks.rb +209 -209
  87. data/lib/aspose_cells_cloud/models/horizontal_page_breaks_response.rb +221 -221
  88. data/lib/aspose_cells_cloud/models/html_save_options.rb +373 -373
  89. data/lib/aspose_cells_cloud/models/hyperlink.rb +234 -234
  90. data/lib/aspose_cells_cloud/models/hyperlink_response.rb +221 -221
  91. data/lib/aspose_cells_cloud/models/hyperlinks.rb +223 -223
  92. data/lib/aspose_cells_cloud/models/hyperlinks_response.rb +221 -221
  93. data/lib/aspose_cells_cloud/models/icon_filter.rb +212 -212
  94. data/lib/aspose_cells_cloud/models/icon_set.rb +253 -253
  95. data/lib/aspose_cells_cloud/models/image_save_options.rb +373 -373
  96. data/lib/aspose_cells_cloud/models/import_batch_data_option.rb +236 -236
  97. data/lib/aspose_cells_cloud/models/import_csv_data_option.rb +281 -281
  98. data/lib/aspose_cells_cloud/models/import_data_task_parameter.rb +216 -216
  99. data/lib/aspose_cells_cloud/models/import_double_array_option.rb +263 -263
  100. data/lib/aspose_cells_cloud/models/import_int_array_option.rb +263 -263
  101. data/lib/aspose_cells_cloud/models/import_option.rb +225 -225
  102. data/lib/aspose_cells_cloud/models/import_string_array_option.rb +263 -263
  103. data/lib/aspose_cells_cloud/models/legend.rb +335 -335
  104. data/lib/aspose_cells_cloud/models/legend_response.rb +221 -221
  105. data/lib/aspose_cells_cloud/models/line.rb +360 -360
  106. data/lib/aspose_cells_cloud/models/line_format.rb +358 -358
  107. data/lib/aspose_cells_cloud/models/line_response.rb +221 -221
  108. data/lib/aspose_cells_cloud/models/link.rb +225 -225
  109. data/lib/aspose_cells_cloud/models/link_element.rb +198 -198
  110. data/lib/aspose_cells_cloud/models/list_column.rb +209 -209
  111. data/lib/aspose_cells_cloud/models/list_object.rb +350 -350
  112. data/lib/aspose_cells_cloud/models/list_object_operate_parameter.rb +207 -207
  113. data/lib/aspose_cells_cloud/models/list_object_response.rb +221 -221
  114. data/lib/aspose_cells_cloud/models/list_objects.rb +209 -209
  115. data/lib/aspose_cells_cloud/models/list_objects_response.rb +221 -221
  116. data/lib/aspose_cells_cloud/models/m_html_save_options.rb +373 -373
  117. data/lib/aspose_cells_cloud/models/markdown_save_options.rb +292 -292
  118. data/lib/aspose_cells_cloud/models/merged_cell.rb +254 -254
  119. data/lib/aspose_cells_cloud/models/merged_cell_response.rb +221 -221
  120. data/lib/aspose_cells_cloud/models/merged_cells.rb +223 -223
  121. data/lib/aspose_cells_cloud/models/merged_cells_response.rb +221 -221
  122. data/lib/aspose_cells_cloud/models/multiple_filter.rb +189 -189
  123. data/lib/aspose_cells_cloud/models/multiple_filters.rb +209 -209
  124. data/lib/aspose_cells_cloud/models/name.rb +276 -276
  125. data/lib/aspose_cells_cloud/models/name_response.rb +221 -221
  126. data/lib/aspose_cells_cloud/models/names.rb +223 -223
  127. data/lib/aspose_cells_cloud/models/names_response.rb +221 -221
  128. data/lib/aspose_cells_cloud/models/negative_bar_format.rb +229 -229
  129. data/lib/aspose_cells_cloud/models/object_exist.rb +219 -219
  130. data/lib/aspose_cells_cloud/models/ods_save_options.rb +265 -265
  131. data/lib/aspose_cells_cloud/models/ole_object.rb +567 -567
  132. data/lib/aspose_cells_cloud/models/ole_object_response.rb +221 -221
  133. data/lib/aspose_cells_cloud/models/ole_objects.rb +209 -209
  134. data/lib/aspose_cells_cloud/models/ole_objects_response.rb +221 -221
  135. data/lib/aspose_cells_cloud/models/ooxml_save_options.rb +274 -274
  136. data/lib/aspose_cells_cloud/models/operate_object.rb +207 -207
  137. data/lib/aspose_cells_cloud/models/operate_object_position.rb +243 -243
  138. data/lib/aspose_cells_cloud/models/operate_parameter.rb +198 -198
  139. data/lib/aspose_cells_cloud/models/page_break_operate_parameter.rb +252 -252
  140. data/lib/aspose_cells_cloud/models/page_section.rb +259 -259
  141. data/lib/aspose_cells_cloud/models/page_sections_response.rb +223 -223
  142. data/lib/aspose_cells_cloud/models/page_setup.rb +542 -542
  143. data/lib/aspose_cells_cloud/models/page_setup_operate_parameter.rb +207 -207
  144. data/lib/aspose_cells_cloud/models/page_setup_response.rb +221 -221
  145. data/lib/aspose_cells_cloud/models/password_request.rb +198 -198
  146. data/lib/aspose_cells_cloud/models/paste_options.rb +225 -225
  147. data/lib/aspose_cells_cloud/models/pattern_fill.rb +252 -252
  148. data/lib/aspose_cells_cloud/models/pdf_save_options.rb +355 -355
  149. data/lib/aspose_cells_cloud/models/pdf_security_options.rb +283 -283
  150. data/lib/aspose_cells_cloud/models/pic_format_option.rb +243 -243
  151. data/lib/aspose_cells_cloud/models/picture.rb +558 -558
  152. data/lib/aspose_cells_cloud/models/picture_response.rb +221 -221
  153. data/lib/aspose_cells_cloud/models/pictures.rb +209 -209
  154. data/lib/aspose_cells_cloud/models/pictures_response.rb +221 -221
  155. data/lib/aspose_cells_cloud/models/pivot_field.rb +546 -546
  156. data/lib/aspose_cells_cloud/models/pivot_field_response.rb +221 -221
  157. data/lib/aspose_cells_cloud/models/pivot_filter.rb +279 -279
  158. data/lib/aspose_cells_cloud/models/pivot_filter_response.rb +221 -221
  159. data/lib/aspose_cells_cloud/models/pivot_filters_response.rb +223 -223
  160. data/lib/aspose_cells_cloud/models/pivot_item.rb +228 -228
  161. data/lib/aspose_cells_cloud/models/pivot_table.rb +824 -824
  162. data/lib/aspose_cells_cloud/models/pivot_table_field_request.rb +200 -200
  163. data/lib/aspose_cells_cloud/models/pivot_table_operate_parameter.rb +276 -276
  164. data/lib/aspose_cells_cloud/models/pivot_table_response.rb +221 -221
  165. data/lib/aspose_cells_cloud/models/pivot_tables.rb +209 -209
  166. data/lib/aspose_cells_cloud/models/pivot_tables_response.rb +221 -221
  167. data/lib/aspose_cells_cloud/models/protect_sheet_parameter.rb +335 -335
  168. data/lib/aspose_cells_cloud/models/range.rb +309 -309
  169. data/lib/aspose_cells_cloud/models/range_copy_request.rb +225 -225
  170. data/lib/aspose_cells_cloud/models/range_set_outline_border_request.rb +225 -225
  171. data/lib/aspose_cells_cloud/models/range_set_style_request.rb +207 -207
  172. data/lib/aspose_cells_cloud/models/range_value_response.rb +223 -223
  173. data/lib/aspose_cells_cloud/models/ranges.rb +200 -200
  174. data/lib/aspose_cells_cloud/models/ranges_response.rb +221 -221
  175. data/lib/aspose_cells_cloud/models/result_destination.rb +216 -216
  176. data/lib/aspose_cells_cloud/models/row.rb +261 -261
  177. data/lib/aspose_cells_cloud/models/row_response.rb +221 -221
  178. data/lib/aspose_cells_cloud/models/rows.rb +237 -237
  179. data/lib/aspose_cells_cloud/models/rows_response.rb +221 -221
  180. data/lib/aspose_cells_cloud/models/save_options.rb +265 -265
  181. data/lib/aspose_cells_cloud/models/save_response.rb +221 -221
  182. data/lib/aspose_cells_cloud/models/save_result.rb +200 -200
  183. data/lib/aspose_cells_cloud/models/save_result_task_parameter.rb +207 -207
  184. data/lib/aspose_cells_cloud/models/shadow_effect.rb +252 -252
  185. data/lib/aspose_cells_cloud/models/shape.rb +504 -504
  186. data/lib/aspose_cells_cloud/models/shape_operate_parameter.rb +207 -207
  187. data/lib/aspose_cells_cloud/models/shape_response.rb +221 -221
  188. data/lib/aspose_cells_cloud/models/shapes.rb +209 -209
  189. data/lib/aspose_cells_cloud/models/shapes_response.rb +221 -221
  190. data/lib/aspose_cells_cloud/models/single_value.rb +207 -207
  191. data/lib/aspose_cells_cloud/models/single_value_response.rb +221 -221
  192. data/lib/aspose_cells_cloud/models/smart_marker_task_parameter.rb +216 -216
  193. data/lib/aspose_cells_cloud/models/solid_fill.rb +216 -216
  194. data/lib/aspose_cells_cloud/models/sort_key.rb +221 -221
  195. data/lib/aspose_cells_cloud/models/sparkline.rb +226 -226
  196. data/lib/aspose_cells_cloud/models/sparkline_group.rb +434 -434
  197. data/lib/aspose_cells_cloud/models/sparkline_group_response.rb +221 -221
  198. data/lib/aspose_cells_cloud/models/sparkline_groups.rb +200 -200
  199. data/lib/aspose_cells_cloud/models/sparkline_groups_response.rb +221 -221
  200. data/lib/aspose_cells_cloud/models/split_result.rb +200 -200
  201. data/lib/aspose_cells_cloud/models/split_result_document.rb +212 -212
  202. data/lib/aspose_cells_cloud/models/split_result_response.rb +222 -222
  203. data/lib/aspose_cells_cloud/models/split_workbook_task_parameter.rb +243 -243
  204. data/lib/aspose_cells_cloud/models/spreadsheet_ml2003_save_options.rb +292 -292
  205. data/lib/aspose_cells_cloud/models/storage_exist.rb +204 -204
  206. data/lib/aspose_cells_cloud/models/storage_file.rb +249 -249
  207. data/lib/aspose_cells_cloud/models/style.rb +407 -407
  208. data/lib/aspose_cells_cloud/models/style_response.rb +221 -221
  209. data/lib/aspose_cells_cloud/models/svg_save_options.rb +274 -274
  210. data/lib/aspose_cells_cloud/models/task_data.rb +200 -200
  211. data/lib/aspose_cells_cloud/models/task_description.rb +207 -207
  212. data/lib/aspose_cells_cloud/models/task_parameter.rb +189 -189
  213. data/lib/aspose_cells_cloud/models/text_item.rb +207 -207
  214. data/lib/aspose_cells_cloud/models/text_items.rb +209 -209
  215. data/lib/aspose_cells_cloud/models/text_items_response.rb +221 -221
  216. data/lib/aspose_cells_cloud/models/text_options.rb +333 -333
  217. data/lib/aspose_cells_cloud/models/text_water_marker_request.rb +239 -239
  218. data/lib/aspose_cells_cloud/models/texture_fill.rb +243 -243
  219. data/lib/aspose_cells_cloud/models/theme_color.rb +207 -207
  220. data/lib/aspose_cells_cloud/models/tile_pic_option.rb +263 -263
  221. data/lib/aspose_cells_cloud/models/title.rb +380 -380
  222. data/lib/aspose_cells_cloud/models/title_response.rb +221 -221
  223. data/lib/aspose_cells_cloud/models/top10.rb +219 -219
  224. data/lib/aspose_cells_cloud/models/top10_filter.rb +240 -240
  225. data/lib/aspose_cells_cloud/models/txt_save_options.rb +301 -301
  226. data/lib/aspose_cells_cloud/models/validation.rb +360 -360
  227. data/lib/aspose_cells_cloud/models/validation_response.rb +221 -221
  228. data/lib/aspose_cells_cloud/models/validations.rb +223 -223
  229. data/lib/aspose_cells_cloud/models/validations_response.rb +221 -221
  230. data/lib/aspose_cells_cloud/models/value_type.rb +189 -189
  231. data/lib/aspose_cells_cloud/models/vertical_page_break.rb +231 -231
  232. data/lib/aspose_cells_cloud/models/vertical_page_break_response.rb +221 -221
  233. data/lib/aspose_cells_cloud/models/vertical_page_breaks.rb +209 -209
  234. data/lib/aspose_cells_cloud/models/vertical_page_breaks_response.rb +221 -221
  235. data/lib/aspose_cells_cloud/models/workbook.rb +290 -290
  236. data/lib/aspose_cells_cloud/models/workbook_encryption_request.rb +224 -224
  237. data/lib/aspose_cells_cloud/models/workbook_operate_parameter.rb +198 -198
  238. data/lib/aspose_cells_cloud/models/workbook_protection_request.rb +209 -209
  239. data/lib/aspose_cells_cloud/models/workbook_replace_response.rb +235 -235
  240. data/lib/aspose_cells_cloud/models/workbook_response.rb +221 -221
  241. data/lib/aspose_cells_cloud/models/workbook_settings.rb +626 -626
  242. data/lib/aspose_cells_cloud/models/workbook_settings_operate_parameter.rb +207 -207
  243. data/lib/aspose_cells_cloud/models/workbook_settings_response.rb +221 -221
  244. data/lib/aspose_cells_cloud/models/worksheet.rb +510 -510
  245. data/lib/aspose_cells_cloud/models/worksheet_moving_request.rb +209 -209
  246. data/lib/aspose_cells_cloud/models/worksheet_replace_response.rb +235 -235
  247. data/lib/aspose_cells_cloud/models/worksheet_response.rb +221 -221
  248. data/lib/aspose_cells_cloud/models/worksheets.rb +209 -209
  249. data/lib/aspose_cells_cloud/models/worksheets_response.rb +221 -221
  250. data/lib/aspose_cells_cloud/models/xls_save_options.rb +265 -265
  251. data/lib/aspose_cells_cloud/models/xlsb_save_options.rb +265 -265
  252. data/lib/aspose_cells_cloud/models/xps_save_options.rb +265 -265
  253. data/lib/aspose_cells_cloud/version.rb +25 -25
  254. data/spec/api/cells_api_spec.rb +2 -1
  255. data/spec/api/cells_auto_filter_api_spec.rb +2 -1
  256. data/spec/api/cells_autoshapes_api_spec.rb +2 -1
  257. data/spec/api/cells_chart_area_api_spec.rb +2 -1
  258. data/spec/api/cells_charts_api_spec.rb +2 -1
  259. data/spec/api/cells_conditional_formattings_api_spec.rb +2 -1
  260. data/spec/api/cells_hypelinks_api_spec.rb +2 -1
  261. data/spec/api/cells_list_objects_api_spec.rb +2 -1
  262. data/spec/api/cells_ole_objects_api_spec.rb +2 -1
  263. data/spec/api/cells_page_breaks_api_spec.rb +2 -1
  264. data/spec/api/cells_page_setup_api_spec.rb +2 -1
  265. data/spec/api/cells_pictures_api_spec.rb +2 -1
  266. data/spec/api/cells_pivot_tables_api_spec.rb +2 -1
  267. data/spec/api/cells_properties_api_spec.rb +2 -1
  268. data/spec/api/cells_ranges_api_spec.rb +2 -1
  269. data/spec/api/cells_save_as_api_spec.rb +2 -1
  270. data/spec/api/cells_shapes_api_spec.rb +2 -1
  271. data/spec/api/cells_simple_spec.rb +2 -1
  272. data/spec/api/cells_sparkline_group_spec.rb +43 -42
  273. data/spec/api/cells_storage_api_spec.rb +69 -68
  274. data/spec/api/cells_storage_spec.rb +3 -2
  275. data/spec/api/cells_task_api_spec.rb +2 -1
  276. data/spec/api/cells_workbook_api_spec.rb +3 -2
  277. data/spec/api/cells_worksheet_validations_api_spec.rb +2 -1
  278. data/spec/api/cells_worksheets_api_spec.rb +60 -58
  279. data/spec/spec_helper.rb +1 -0
  280. metadata +22 -294
  281. data/Gemfile +0 -7
  282. data/LICENSE +0 -21
  283. data/README.md +0 -122
  284. data/Rakefile +0 -8
  285. data/aspose_cells_cloud-20.2.gem +0 -0
  286. data/aspose_cells_cloud-20.4.gem +0 -0
  287. data/aspose_cells_cloud-20.6.gem +0 -0
  288. data/aspose_cells_cloud-20.7.gem +0 -0
  289. data/aspose_cells_cloud-20.8.gem +0 -0
  290. data/aspose_cells_cloud.gemspec +0 -48
  291. data/data/Book1.xlsx +0 -0
  292. data/data/ImportData.xlsx +0 -0
  293. data/data/NewCopy.xlsx +0 -0
  294. data/data/OLEDoc.docx +0 -0
  295. data/data/PivTestFile2.xlsx +0 -0
  296. data/data/ReportData.xml +0 -1
  297. data/data/TestCase.xlsx +0 -0
  298. data/data/TestImportData.xlsx +0 -0
  299. data/data/TestImportDataCSV.csv +0 -3
  300. data/data/WaterMark.png +0 -0
  301. data/data/markdowntest.md +0 -41
  302. data/data/myDocument.xlsx +0 -0
  303. data/data/word.jpg +0 -0
  304. data/docs/AboveAverage.md +0 -10
  305. data/docs/AccessTokenResponse.md +0 -15
  306. data/docs/Area.md +0 -13
  307. data/docs/AutoFilter.md +0 -11
  308. data/docs/AutoFilterResponse.md +0 -10
  309. data/docs/AutoFitterOptions.md +0 -10
  310. data/docs/AutoShape.md +0 -42
  311. data/docs/AutoShapeResponse.md +0 -10
  312. data/docs/AutoShapes.md +0 -9
  313. data/docs/AutoShapesResponse.md +0 -10
  314. data/docs/Border.md +0 -10
  315. data/docs/CalculationOptions.md +0 -11
  316. data/docs/Cell.md +0 -24
  317. data/docs/CellArea.md +0 -11
  318. data/docs/CellResponse.md +0 -10
  319. data/docs/CellValue.md +0 -12
  320. data/docs/Cells.md +0 -14
  321. data/docs/CellsApi.md +0 -14581
  322. data/docs/CellsCloudResponse.md +0 -9
  323. data/docs/CellsColor.md +0 -12
  324. data/docs/CellsDocumentProperties.md +0 -9
  325. data/docs/CellsDocumentPropertiesResponse.md +0 -10
  326. data/docs/CellsDocumentProperty.md +0 -11
  327. data/docs/CellsDocumentPropertyResponse.md +0 -10
  328. data/docs/CellsObjectOperateTaskParameter.md +0 -10
  329. data/docs/CellsResponse.md +0 -10
  330. data/docs/Chart.md +0 -51
  331. data/docs/ChartArea.md +0 -21
  332. data/docs/ChartAreaResponse.md +0 -10
  333. data/docs/ChartFrame.md +0 -21
  334. data/docs/ChartOperateParameter.md +0 -17
  335. data/docs/Charts.md +0 -9
  336. data/docs/ChartsResponse.md +0 -10
  337. data/docs/Color.md +0 -11
  338. data/docs/ColorFilter.md +0 -12
  339. data/docs/ColorFilterRequest.md +0 -10
  340. data/docs/ColorScale.md +0 -13
  341. data/docs/Column.md +0 -13
  342. data/docs/ColumnResponse.md +0 -10
  343. data/docs/Columns.md +0 -11
  344. data/docs/ColumnsResponse.md +0 -10
  345. data/docs/Comment.md +0 -19
  346. data/docs/CommentResponse.md +0 -10
  347. data/docs/Comments.md +0 -9
  348. data/docs/CommentsResponse.md +0 -10
  349. data/docs/ConditionalFormatting.md +0 -10
  350. data/docs/ConditionalFormattingIcon.md +0 -10
  351. data/docs/ConditionalFormattingResponse.md +0 -10
  352. data/docs/ConditionalFormattingValue.md +0 -10
  353. data/docs/ConditionalFormattings.md +0 -10
  354. data/docs/ConditionalFormattingsResponse.md +0 -10
  355. data/docs/ConvertTaskParameter.md +0 -10
  356. data/docs/CopyOptions.md +0 -13
  357. data/docs/CreatePivotTableRequest.md +0 -14
  358. data/docs/CustomFilter.md +0 -9
  359. data/docs/CustomParserConfig.md +0 -10
  360. data/docs/DataBar.md +0 -19
  361. data/docs/DataBarBorder.md +0 -9
  362. data/docs/DataSorter.md +0 -11
  363. data/docs/DifSaveOptions.md +0 -15
  364. data/docs/DiscUsage.md +0 -9
  365. data/docs/DynamicFilter.md +0 -10
  366. data/docs/Error.md +0 -11
  367. data/docs/ErrorDetails.md +0 -9
  368. data/docs/FileSource.md +0 -9
  369. data/docs/FileVersion.md +0 -14
  370. data/docs/FileVersions.md +0 -8
  371. data/docs/FilesList.md +0 -8
  372. data/docs/FilesUploadResult.md +0 -9
  373. data/docs/FillFormat.md +0 -13
  374. data/docs/FillFormatResponse.md +0 -10
  375. data/docs/FilterColumn.md +0 -16
  376. data/docs/Font.md +0 -17
  377. data/docs/FontSetting.md +0 -12
  378. data/docs/FormatCondition.md +0 -22
  379. data/docs/GradientFill.md +0 -11
  380. data/docs/GradientFillStop.md +0 -10
  381. data/docs/HorizontalPageBreak.md +0 -10
  382. data/docs/HorizontalPageBreakResponse.md +0 -10
  383. data/docs/HorizontalPageBreaks.md +0 -9
  384. data/docs/HorizontalPageBreaksResponse.md +0 -10
  385. data/docs/HtmlSaveOptions.md +0 -27
  386. data/docs/Hyperlink.md +0 -12
  387. data/docs/HyperlinkResponse.md +0 -10
  388. data/docs/Hyperlinks.md +0 -10
  389. data/docs/HyperlinksResponse.md +0 -10
  390. data/docs/IconFilter.md +0 -9
  391. data/docs/IconSet.md +0 -13
  392. data/docs/ImageSaveOptions.md +0 -27
  393. data/docs/ImportBatchDataOption.md +0 -12
  394. data/docs/ImportCSVDataOption.md +0 -17
  395. data/docs/ImportDataTaskParameter.md +0 -10
  396. data/docs/ImportDoubleArrayOption.md +0 -15
  397. data/docs/ImportIntArrayOption.md +0 -15
  398. data/docs/ImportOption.md +0 -11
  399. data/docs/ImportStringArrayOption.md +0 -15
  400. data/docs/Legend.md +0 -23
  401. data/docs/LegendResponse.md +0 -10
  402. data/docs/Line.md +0 -26
  403. data/docs/LineFormat.md +0 -24
  404. data/docs/LineResponse.md +0 -10
  405. data/docs/Link.md +0 -11
  406. data/docs/LinkElement.md +0 -8
  407. data/docs/ListColumn.md +0 -9
  408. data/docs/ListObject.md +0 -23
  409. data/docs/ListObjectOperateParameter.md +0 -9
  410. data/docs/ListObjectResponse.md +0 -10
  411. data/docs/ListObjects.md +0 -9
  412. data/docs/ListObjectsResponse.md +0 -10
  413. data/docs/MHtmlSaveOptions.md +0 -27
  414. data/docs/MarkdownSaveOptions.md +0 -18
  415. data/docs/MergedCell.md +0 -12
  416. data/docs/MergedCellResponse.md +0 -10
  417. data/docs/MergedCells.md +0 -10
  418. data/docs/MergedCellsResponse.md +0 -10
  419. data/docs/MultipleFilter.md +0 -7
  420. data/docs/MultipleFilters.md +0 -9
  421. data/docs/Name.md +0 -15
  422. data/docs/NameResponse.md +0 -10
  423. data/docs/Names.md +0 -10
  424. data/docs/NamesResponse.md +0 -10
  425. data/docs/NegativeBarFormat.md +0 -11
  426. data/docs/ObjectExist.md +0 -9
  427. data/docs/OdsSaveOptions.md +0 -15
  428. data/docs/OleObject.md +0 -49
  429. data/docs/OleObjectResponse.md +0 -10
  430. data/docs/OleObjects.md +0 -9
  431. data/docs/OleObjectsResponse.md +0 -10
  432. data/docs/OoxmlSaveOptions.md +0 -16
  433. data/docs/OperateObject.md +0 -9
  434. data/docs/OperateObjectPosition.md +0 -13
  435. data/docs/OperateParameter.md +0 -8
  436. data/docs/PageBreakOperateParameter.md +0 -14
  437. data/docs/PageSection.md +0 -12
  438. data/docs/PageSectionsResponse.md +0 -10
  439. data/docs/PageSetup.md +0 -42
  440. data/docs/PageSetupOperateParameter.md +0 -9
  441. data/docs/PageSetupResponse.md +0 -10
  442. data/docs/PasswordRequest.md +0 -8
  443. data/docs/PasteOptions.md +0 -11
  444. data/docs/PatternFill.md +0 -14
  445. data/docs/PdfSaveOptions.md +0 -25
  446. data/docs/PdfSecurityOptions.md +0 -17
  447. data/docs/PicFormatOption.md +0 -13
  448. data/docs/Picture.md +0 -48
  449. data/docs/PictureResponse.md +0 -10
  450. data/docs/Pictures.md +0 -9
  451. data/docs/PicturesResponse.md +0 -10
  452. data/docs/PivotField.md +0 -46
  453. data/docs/PivotFieldResponse.md +0 -10
  454. data/docs/PivotFilter.md +0 -16
  455. data/docs/PivotFilterResponse.md +0 -10
  456. data/docs/PivotFiltersResponse.md +0 -10
  457. data/docs/PivotItem.md +0 -11
  458. data/docs/PivotTable.md +0 -76
  459. data/docs/PivotTableFieldRequest.md +0 -8
  460. data/docs/PivotTableOperateParameter.md +0 -16
  461. data/docs/PivotTableResponse.md +0 -10
  462. data/docs/PivotTables.md +0 -9
  463. data/docs/PivotTablesResponse.md +0 -10
  464. data/docs/ProtectSheetParameter.md +0 -23
  465. data/docs/Range.md +0 -16
  466. data/docs/RangeCopyRequest.md +0 -11
  467. data/docs/RangeSetOutlineBorderRequest.md +0 -11
  468. data/docs/RangeSetStyleRequest.md +0 -9
  469. data/docs/RangeValueResponse.md +0 -10
  470. data/docs/Ranges.md +0 -8
  471. data/docs/RangesResponse.md +0 -10
  472. data/docs/ResultDestination.md +0 -10
  473. data/docs/Row.md +0 -15
  474. data/docs/RowResponse.md +0 -10
  475. data/docs/Rows.md +0 -11
  476. data/docs/RowsResponse.md +0 -10
  477. data/docs/SaveOptions.md +0 -15
  478. data/docs/SaveResponse.md +0 -10
  479. data/docs/SaveResult.md +0 -10
  480. data/docs/SaveResultTaskParameter.md +0 -9
  481. data/docs/ShadowEffect.md +0 -14
  482. data/docs/Shape.md +0 -42
  483. data/docs/ShapeOperateParameter.md +0 -9
  484. data/docs/ShapeResponse.md +0 -10
  485. data/docs/Shapes.md +0 -9
  486. data/docs/ShapesResponse.md +0 -10
  487. data/docs/SingleValue.md +0 -9
  488. data/docs/SingleValueResponse.md +0 -10
  489. data/docs/SmartMarkerTaskParameter.md +0 -10
  490. data/docs/SolidFill.md +0 -10
  491. data/docs/SortKey.md +0 -10
  492. data/docs/SplitResult.md +0 -8
  493. data/docs/SplitResultDocument.md +0 -9
  494. data/docs/SplitResultResponse.md +0 -10
  495. data/docs/SplitWorkbookTaskParameter.md +0 -13
  496. data/docs/SpreadsheetML2003SaveOptions.md +0 -18
  497. data/docs/StorageExist.md +0 -8
  498. data/docs/StorageFile.md +0 -12
  499. data/docs/Style.md +0 -31
  500. data/docs/StyleResponse.md +0 -10
  501. data/docs/SvgSaveOptions.md +0 -16
  502. data/docs/TaskData.md +0 -8
  503. data/docs/TaskDescription.md +0 -9
  504. data/docs/TaskParameter.md +0 -7
  505. data/docs/TextItem.md +0 -9
  506. data/docs/TextItems.md +0 -9
  507. data/docs/TextItemsResponse.md +0 -10
  508. data/docs/TextOptions.md +0 -23
  509. data/docs/TextureFill.md +0 -13
  510. data/docs/ThemeColor.md +0 -9
  511. data/docs/TilePicOption.md +0 -13
  512. data/docs/Title.md +0 -28
  513. data/docs/TitleResponse.md +0 -10
  514. data/docs/Top10.md +0 -10
  515. data/docs/Top10Filter.md +0 -11
  516. data/docs/TxtSaveOptions.md +0 -19
  517. data/docs/Validation.md +0 -24
  518. data/docs/ValidationResponse.md +0 -10
  519. data/docs/Validations.md +0 -10
  520. data/docs/ValidationsResponse.md +0 -10
  521. data/docs/ValueType.md +0 -7
  522. data/docs/VerticalPageBreak.md +0 -10
  523. data/docs/VerticalPageBreakResponse.md +0 -10
  524. data/docs/VerticalPageBreaks.md +0 -9
  525. data/docs/VerticalPageBreaksResponse.md +0 -10
  526. data/docs/Workbook.md +0 -18
  527. data/docs/WorkbookEncryptionRequest.md +0 -10
  528. data/docs/WorkbookOperateParameter.md +0 -8
  529. data/docs/WorkbookProtectionRequest.md +0 -9
  530. data/docs/WorkbookReplaceResponse.md +0 -11
  531. data/docs/WorkbookResponse.md +0 -10
  532. data/docs/WorkbookSettings.md +0 -52
  533. data/docs/WorkbookSettingsOperateParameter.md +0 -9
  534. data/docs/WorkbookSettingsResponse.md +0 -10
  535. data/docs/Worksheet.md +0 -39
  536. data/docs/WorksheetMovingRequest.md +0 -9
  537. data/docs/WorksheetReplaceResponse.md +0 -11
  538. data/docs/WorksheetResponse.md +0 -10
  539. data/docs/Worksheets.md +0 -9
  540. data/docs/WorksheetsResponse.md +0 -10
  541. data/docs/XlsSaveOptions.md +0 -15
  542. data/docs/XlsbSaveOptions.md +0 -15
  543. data/docs/XpsSaveOptions.md +0 -15
  544. data/git_push.sh +0 -55
  545. data/lib/aspose_cells_cloud/models/error.rb +0 -229
  546. data/nohup.out +0 -4
  547. data/runTest.sh +0 -29
  548. data/spec/api/cells_one_spec.rb +0 -37
  549. data/test.pdf +0 -0
  550. data/testResult.txt +0 -15
@@ -1,489 +1,489 @@
1
- =begin
2
- --------------------------------------------------------------------------------------------------------------------
3
- Copyright (c) 2020 Aspose.Cells Cloud
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
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- SOFTWARE.
19
- --------------------------------------------------------------------------------------------------------------------
20
-
21
- =end
22
-
23
- require 'date'
24
- require 'json'
25
- require 'logger'
26
- require 'tempfile'
27
- require 'uri'
28
- require 'faraday'
29
- require_relative 'version'
30
- require_relative 'api_error'
31
-
32
- module AsposeCellsCloud
33
- class ApiClient
34
- # The Configuration object holding settings to be used in the API client.
35
- attr_accessor :config
36
-
37
- # Defines the headers to be used in HTTP requests of all API calls by default.
38
- #
39
- # @return [Hash]
40
- attr_accessor :default_headers
41
-
42
- attr_accessor :get_access_token_time
43
- # Initializes the ApiClient
44
- # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
45
- def initialize(config = Configuration.default)
46
- @config = config
47
-
48
- @default_headers = {
49
- 'Content-Type' => "application/json",
50
- 'x-aspose-client' => "ruby sdk",
51
- 'x-aspose-version' => "#{ AsposeCellsCloud::VERSION }"
52
- }
53
- end
54
-
55
- def self.default
56
- @@default ||= ApiClient.new
57
- end
58
-
59
- # Call an API with given options.
60
- #
61
- # @return [Array<(Object, Fixnum, Hash)>] an array of 3 elements:
62
- # the data deserialized from response body (could be nil), response status code and response headers.
63
- def call_api(http_method, path, opts = {})
64
- response = build_request(http_method, path, opts)
65
- download_file response if opts[:return_type] == 'File'
66
-
67
- if @config.debugging
68
- @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
69
- end
70
-
71
- unless response.success?
72
-
73
- if response.status == 0
74
- # Errors from libcurl will be made visible here
75
- fail ApiError.new(:code => 0,
76
- :message => response.reason_phrase)
77
- else
78
- fail ApiError.new(:code => response.status,
79
- :response_headers => response.headers,
80
- :response_body => response.body),
81
- response.reason_phrase
82
- end
83
- end
84
-
85
- if opts[:return_type]
86
- data = deserialize(response, opts[:return_type])
87
- else
88
- data = nil
89
- end
90
- [data, response.status, response.headers]
91
- end
92
-
93
- # Builds the HTTP request
94
- #
95
- # @param [String] http_method HTTP method/verb (e.g. POST)
96
- # @param [String] path URL path (e.g. /account/new)
97
- # @option opts [Hash] :header_params Header parameters
98
- # @option opts [Hash] :query_params Query parameters
99
- # @option opts [Hash] :form_params Query parameters
100
- # @option opts [Object] :body HTTP body (JSON/XML)
101
- # @return [Faraday::Response] A Faraday Response
102
- def build_request(http_method, path, opts = {})
103
- url = build_request_url(path)
104
- http_method = http_method.to_sym.downcase
105
-
106
- header_params = @default_headers.merge(opts[:header_params] || {})
107
- query_params = opts[:query_params] || {}
108
- form_params = opts[:form_params] || {}
109
- body = opts[:body] || {}
110
-
111
- update_params_for_auth! header_params, query_params, opts[:auth_names]
112
-
113
- req_opts = {
114
- :method => http_method,
115
- :headers => header_params,
116
- :params => query_params,
117
- :body => body
118
- }
119
-
120
- if [:post, :patch, :put, :delete].include?(http_method)
121
- req_body = build_request_body(header_params, form_params, opts[:body])
122
- req_opts.update :body => req_body
123
- if @config.debugging
124
- @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
125
- end
126
- end
127
-
128
- # OAuth 2.0
129
- req_opts[:params] = opts[:query_params]
130
-
131
- add_o_auth_token(req_opts)
132
-
133
-
134
- conn = Faraday.new url, {:params => query_params, :headers => header_params} do |f|
135
- f.request :multipart
136
- f.request :url_encoded
137
- f.adapter Faraday.default_adapter
138
- end
139
-
140
- if req_opts[:body] == {}
141
- req_opts[:body] = nil
142
- end
143
-
144
- case http_method
145
- when :post
146
- return conn.post url, req_opts[:body]
147
- when :put
148
- return conn.put url, req_opts[:body]
149
- when :get
150
- return conn.get url, req_opts[:body]
151
- else
152
- return conn.delete url do |c|
153
- c.body = req_opts[:body]
154
- end
155
- end
156
- end
157
-
158
- # Check if the given MIME is a JSON MIME.
159
- # JSON MIME examples:
160
- # application/json
161
- # application/json; charset=UTF8
162
- # APPLICATION/JSON
163
- # */*
164
- # @param [String] mime MIME
165
- # @return [Boolean] True if the MIME is application/json
166
- def json_mime?(mime)
167
- (mime == "*/*") || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
168
- end
169
-
170
- # Deserialize the response to the given return type.
171
- #
172
- # @param [Response] response HTTP response
173
- # @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
174
- def deserialize(response, return_type)
175
- body = response.body
176
-
177
- # handle file downloading - return the File instance processed in request callbacks
178
- # note that response body is empty when the file is written in chunks in request on_body callback
179
- return @tempfile if return_type == 'File'
180
-
181
- return nil if body.nil? || body.empty?
182
-
183
- # return response body directly for String return type
184
- return body if return_type == 'String'
185
-
186
- # ensuring a default content type
187
- content_type = response.headers['Content-Type'] || 'application/json'
188
-
189
- raise "Content-Type is not supported: #{content_type}" unless json_mime?(content_type)
190
-
191
- begin
192
- data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
193
- rescue JSON::ParserError => e
194
- if %w(String Date DateTime).include?(return_type)
195
- data = body
196
- else
197
- raise e
198
- end
199
- end
200
-
201
- convert_to_type data, return_type
202
- end
203
-
204
- # Convert data to the given return type.
205
- # @param [Object] data Data to be converted
206
- # @param [String] return_type Return type
207
- # @return [Mixed] Data in a particular type
208
- def convert_to_type(data, return_type)
209
- return nil if data.nil?
210
- case return_type
211
- when 'String'
212
- data.to_s
213
- when 'Integer'
214
- data.to_i
215
- when 'Float'
216
- data.to_f
217
- when 'BOOLEAN'
218
- data == true
219
- when 'DateTime'
220
- # parse date time (expecting ISO 8601 format)
221
- DateTime.parse data
222
- when 'Date'
223
- # parse date time (expecting ISO 8601 format)
224
- Date.parse data
225
- when 'Object'
226
- # generic object (usually a Hash), return directly
227
- data
228
- when /\AArray<(.+)>\z/
229
- # e.g. Array<Pet>
230
- sub_type = $1
231
- data.map {|item| convert_to_type(item, sub_type) }
232
- when /\AHash\<String, (.+)\>\z/
233
- # e.g. Hash<String, Integer>
234
- sub_type = $1
235
- {}.tap do |hash|
236
- data.each {|k, v| hash[k] = convert_to_type(v, sub_type) }
237
- end
238
- else
239
- # models, e.g. Pet
240
- AsposeCellsCloud.const_get(return_type).new.tap do |model|
241
- model.build_from_hash data
242
- end
243
- end
244
- end
245
-
246
- # Save response body into a file in (the defined) temporary folder, using the filename
247
- # from the "Content-Disposition" header if provided, otherwise a random filename.
248
- # The response body is written to the file in chunks in order to handle files which
249
- # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
250
- # process can use.
251
- #
252
- # @see Configuration#temp_folder_path
253
- def download_file(response)
254
- tempfile = nil
255
- encoding = nil
256
-
257
- content_disposition = response.headers['Content-Disposition']
258
- if content_disposition and content_disposition =~ /filename=/i
259
- filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
260
- prefix = sanitize_filename(filename)
261
- else
262
- prefix = 'download-'
263
- end
264
- prefix = prefix + '-' unless prefix.end_with?('-')
265
- encoding = response.body.encoding
266
- tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
267
- @tempfile = tempfile
268
-
269
- tempfile.write(response.body)
270
-
271
- response.on_complete do |resp|
272
- tempfile.close
273
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
274
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
275
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
276
- "explicitly with `tempfile.delete`"
277
- end
278
- end
279
-
280
- # Sanitize filename by removing path.
281
- # e.g. ../../sun.gif becomes sun.gif
282
- #
283
- # @param [String] filename the filename to be sanitized
284
- # @return [String] the sanitized filename
285
- def sanitize_filename(filename)
286
- filename.gsub(/.*[\/\\]/, '')
287
- end
288
-
289
- def build_request_url(path)
290
- # Add leading and trailing slashes to path
291
- path = "/#{path}".gsub(/\/+/, '/')
292
- URI.encode(@config.base_url + path)
293
- end
294
-
295
- # Builds the HTTP request body
296
- #
297
- # @param [Hash] header_params Header parameters
298
- # @param [Hash] form_params Query parameters
299
- # @param [Object] body HTTP body (JSON/XML)
300
- # @return [String] HTTP body data in the form of string
301
- def build_request_body(header_params, form_params, body)
302
- # http form
303
- if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
304
- header_params['Content-Type'] == 'multipart/form-data'
305
- data = {}
306
- form_params.each do |key, value|
307
- case value
308
- when ::File
309
- data[key] = Faraday::UploadIO.new(value.path, MimeMagic.by_magic(value).to_s, key)
310
- when ::Array, nil
311
- # let typhoeus handle File, Array and nil parameters
312
- data[key] = value
313
- else
314
- data[key] = value.to_s
315
- end
316
- end
317
- elsif body
318
- data = body.is_a?(String) ? body : body.to_json
319
- else
320
- data = nil
321
- end
322
- data
323
- end
324
-
325
- # Update hearder and query params based on authentication settings.
326
- #
327
- # @param [Hash] header_params Header parameters
328
- # @param [Hash] query_params Query parameters
329
- # @param [String] auth_names Authentication scheme name
330
- def update_params_for_auth!(header_params, query_params, auth_names)
331
- Array(auth_names).each do |auth_name|
332
- auth_setting = @config.auth_settings[auth_name]
333
- next unless auth_setting
334
- case auth_setting[:in]
335
- when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
336
- when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
337
- else raise ArgumentError, 'Authentication token must be in `query` of `header`'
338
- end
339
- end
340
- end
341
-
342
- # Sets user agent in HTTP header
343
- #
344
- # @param [String] user_agent User agent (e.g. swagger-codegen/ruby/1.0.0)
345
- def user_agent=(user_agent)
346
- @user_agent = user_agent
347
- @default_headers['User-Agent'] = @user_agent
348
- end
349
-
350
- # Return Accept header based on an array of accepts provided.
351
- # @param [Array] accepts array for Accept
352
- # @return [String] the Accept header (e.g. application/json)
353
- def select_header_accept(accepts)
354
- return nil if accepts.nil? || accepts.empty?
355
- # use JSON when present, otherwise use all of the provided
356
- json_accept = accepts.find { |s| json_mime?(s) }
357
- return json_accept || accepts.join(',')
358
- end
359
-
360
- # Return Content-Type header based on an array of content types provided.
361
- # @param [Array] content_types array for Content-Type
362
- # @return [String] the Content-Type header (e.g. application/json)
363
- def select_header_content_type(content_types)
364
- # use application/json by default
365
- return 'application/json' if content_types.nil? || content_types.empty?
366
- # use JSON when present, otherwise use the first one
367
- json_content_type = content_types.find { |s| json_mime?(s) }
368
- return json_content_type || content_types.first
369
- end
370
-
371
- # Convert object (array, hash, object, etc) to JSON string.
372
- # @param [Object] model object to be converted into JSON string
373
- # @return [String] JSON string representation of the object
374
- def object_to_http_body(model)
375
- return '"' + model + '"' if model.is_a?(String)
376
- return model if model.nil?
377
- local_body = nil
378
- if model.is_a?(Array)
379
- local_body = model.map{|m| object_to_hash(m) }
380
- else
381
- local_body = object_to_hash(model)
382
- end
383
- local_body.to_json
384
- end
385
-
386
- # Convert object(non-array) to hash.
387
- # @param [Object] obj object to be converted into JSON string
388
- # @return [String] JSON string representation of the object
389
- def object_to_hash(obj)
390
- if obj.respond_to?(:to_hash)
391
- obj.to_hash
392
- else
393
- obj
394
- end
395
- end
396
-
397
- # Build parameter value according to the given collection format.
398
- # @param [String] collection_format one of :csv, :ssv, :tsv, :pipes and :multi
399
- def build_collection_param(param, collection_format)
400
- case collection_format
401
- when :csv
402
- param.join(',')
403
- when :ssv
404
- param.join(' ')
405
- when :tsv
406
- param.join("\t")
407
- when :pipes
408
- param.join('|')
409
- when :multi
410
- # return the array directly as faraday will handle it as expected
411
- param
412
- else
413
- fail "unknown collection format: #{collection_format.inspect}"
414
- end
415
- end
416
-
417
- # Request access and refresh tokens if needed
418
- def request_token_if_needed
419
- # check token exists
420
- if @config.access_token
421
- now = Time.now
422
- time_difference = now - $get_access_token_time
423
- if time_difference < 86300
424
- return
425
- end
426
- end
427
-
428
- # resource path
429
- local_var_path = "/connect/token"
430
- if @config.api_version === "v1.1"
431
- local_var_path ="/oauth2/token"
432
- end
433
- url = build_request_url(local_var_path).gsub('/'+config.api_version, '')
434
- #url = build_request_url(local_var_path).gsub('/v3.0', '')
435
-
436
- # header parameters
437
- header_params = {}
438
- # HTTP header 'Content-Type'
439
- header_params['Content-Type'] = select_header_content_type(['application/x-www-form-urlencoded'])
440
-
441
- query_params = {}
442
- # form parameters
443
- form_params = {}
444
- form_params["grant_type"] = 'client_credentials'
445
- form_params["client_id"] = @config.app_sid
446
- form_params["client_secret"] = @config.app_key
447
-
448
- body = {}
449
-
450
-
451
- req_opts = {
452
- :headers => header_params,
453
- :params => query_params,
454
- :body => body
455
- }
456
-
457
-
458
- req_body = build_request_body(header_params, form_params, body)
459
- req_opts.update :body => req_body
460
-
461
- req_opts[:params] = query_params
462
-
463
-
464
- conn = Faraday.new url, {:params => query_params, :headers => header_params} do |f|
465
- f.request :multipart
466
- f.request :url_encoded
467
- f.adapter Faraday.default_adapter
468
- end
469
-
470
- if req_opts[:body] == {}
471
- req_opts[:body] = nil
472
- end
473
-
474
-
475
- response = conn.post url, form_params, req_opts[:body]
476
- data = JSON.parse("[#{response.body}]", :symbolize_names => true)[0]
477
-
478
- @config.access_token = data[:access_token]
479
-
480
- $get_access_token_time = Time.now
481
- end
482
-
483
- # Adds OAuth2.0 token
484
- def add_o_auth_token(req_opts)
485
- req_opts[:headers][:Authorization] = "Bearer " + @config.access_token
486
- end
487
-
488
- end
489
- end
1
+ =begin
2
+ --------------------------------------------------------------------------------------------------------------------
3
+ Copyright (c) 2020 Aspose.Cells Cloud
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
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ SOFTWARE.
19
+ --------------------------------------------------------------------------------------------------------------------
20
+
21
+ =end
22
+
23
+ require 'date'
24
+ require 'json'
25
+ require 'logger'
26
+ require 'tempfile'
27
+ require 'uri'
28
+ require 'faraday'
29
+ require_relative 'version'
30
+ require_relative 'api_error'
31
+
32
+ module AsposeCellsCloud
33
+ class ApiClient
34
+ # The Configuration object holding settings to be used in the API client.
35
+ attr_accessor :config
36
+
37
+ # Defines the headers to be used in HTTP requests of all API calls by default.
38
+ #
39
+ # @return [Hash]
40
+ attr_accessor :default_headers
41
+
42
+ attr_accessor :get_access_token_time
43
+ # Initializes the ApiClient
44
+ # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
45
+ def initialize(config = Configuration.default)
46
+ @config = config
47
+
48
+ @default_headers = {
49
+ 'Content-Type' => "application/json",
50
+ 'x-aspose-client' => "ruby sdk",
51
+ 'x-aspose-version' => "#{ AsposeCellsCloud::VERSION }"
52
+ }
53
+ end
54
+
55
+ def self.default
56
+ @@default ||= ApiClient.new
57
+ end
58
+
59
+ # Call an API with given options.
60
+ #
61
+ # @return [Array<(Object, Fixnum, Hash)>] an array of 3 elements:
62
+ # the data deserialized from response body (could be nil), response status code and response headers.
63
+ def call_api(http_method, path, opts = {})
64
+ response = build_request(http_method, path, opts)
65
+ download_file response if opts[:return_type] == 'File'
66
+
67
+ if @config.debugging
68
+ @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
69
+ end
70
+
71
+ unless response.success?
72
+
73
+ if response.status == 0
74
+ # Errors from libcurl will be made visible here
75
+ fail ApiError.new(:code => 0,
76
+ :message => response.reason_phrase)
77
+ else
78
+ fail ApiError.new(:code => response.status,
79
+ :response_headers => response.headers,
80
+ :response_body => response.body),
81
+ response.reason_phrase
82
+ end
83
+ end
84
+
85
+ if opts[:return_type]
86
+ data = deserialize(response, opts[:return_type])
87
+ else
88
+ data = nil
89
+ end
90
+ [data, response.status, response.headers]
91
+ end
92
+
93
+ # Builds the HTTP request
94
+ #
95
+ # @param [String] http_method HTTP method/verb (e.g. POST)
96
+ # @param [String] path URL path (e.g. /account/new)
97
+ # @option opts [Hash] :header_params Header parameters
98
+ # @option opts [Hash] :query_params Query parameters
99
+ # @option opts [Hash] :form_params Query parameters
100
+ # @option opts [Object] :body HTTP body (JSON/XML)
101
+ # @return [Faraday::Response] A Faraday Response
102
+ def build_request(http_method, path, opts = {})
103
+ url = build_request_url(path)
104
+ http_method = http_method.to_sym.downcase
105
+
106
+ header_params = @default_headers.merge(opts[:header_params] || {})
107
+ query_params = opts[:query_params] || {}
108
+ form_params = opts[:form_params] || {}
109
+ body = opts[:body] || {}
110
+
111
+ update_params_for_auth! header_params, query_params, opts[:auth_names]
112
+
113
+ req_opts = {
114
+ :method => http_method,
115
+ :headers => header_params,
116
+ :params => query_params,
117
+ :body => body
118
+ }
119
+
120
+ if [:post, :patch, :put, :delete].include?(http_method)
121
+ req_body = build_request_body(header_params, form_params, opts[:body])
122
+ req_opts.update :body => req_body
123
+ if @config.debugging
124
+ @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
125
+ end
126
+ end
127
+
128
+ # OAuth 2.0
129
+ req_opts[:params] = opts[:query_params]
130
+
131
+ add_o_auth_token(req_opts)
132
+
133
+
134
+ conn = Faraday.new url, {:params => query_params, :headers => header_params} do |f|
135
+ f.request :multipart
136
+ f.request :url_encoded
137
+ f.adapter Faraday.default_adapter
138
+ end
139
+
140
+ if req_opts[:body] == {}
141
+ req_opts[:body] = nil
142
+ end
143
+
144
+ case http_method
145
+ when :post
146
+ return conn.post url, req_opts[:body]
147
+ when :put
148
+ return conn.put url, req_opts[:body]
149
+ when :get
150
+ return conn.get url, req_opts[:body]
151
+ else
152
+ return conn.delete url do |c|
153
+ c.body = req_opts[:body]
154
+ end
155
+ end
156
+ end
157
+
158
+ # Check if the given MIME is a JSON MIME.
159
+ # JSON MIME examples:
160
+ # application/json
161
+ # application/json; charset=UTF8
162
+ # APPLICATION/JSON
163
+ # */*
164
+ # @param [String] mime MIME
165
+ # @return [Boolean] True if the MIME is application/json
166
+ def json_mime?(mime)
167
+ (mime == "*/*") || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
168
+ end
169
+
170
+ # Deserialize the response to the given return type.
171
+ #
172
+ # @param [Response] response HTTP response
173
+ # @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
174
+ def deserialize(response, return_type)
175
+ body = response.body
176
+
177
+ # handle file downloading - return the File instance processed in request callbacks
178
+ # note that response body is empty when the file is written in chunks in request on_body callback
179
+ return @tempfile if return_type == 'File'
180
+
181
+ return nil if body.nil? || body.empty?
182
+
183
+ # return response body directly for String return type
184
+ return body if return_type == 'String'
185
+
186
+ # ensuring a default content type
187
+ content_type = response.headers['Content-Type'] || 'application/json'
188
+
189
+ raise "Content-Type is not supported: #{content_type}" unless json_mime?(content_type)
190
+
191
+ begin
192
+ data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
193
+ rescue JSON::ParserError => e
194
+ if %w(String Date DateTime).include?(return_type)
195
+ data = body
196
+ else
197
+ raise e
198
+ end
199
+ end
200
+
201
+ convert_to_type data, return_type
202
+ end
203
+
204
+ # Convert data to the given return type.
205
+ # @param [Object] data Data to be converted
206
+ # @param [String] return_type Return type
207
+ # @return [Mixed] Data in a particular type
208
+ def convert_to_type(data, return_type)
209
+ return nil if data.nil?
210
+ case return_type
211
+ when 'String'
212
+ data.to_s
213
+ when 'Integer'
214
+ data.to_i
215
+ when 'Float'
216
+ data.to_f
217
+ when 'BOOLEAN'
218
+ data == true
219
+ when 'DateTime'
220
+ # parse date time (expecting ISO 8601 format)
221
+ DateTime.parse data
222
+ when 'Date'
223
+ # parse date time (expecting ISO 8601 format)
224
+ Date.parse data
225
+ when 'Object'
226
+ # generic object (usually a Hash), return directly
227
+ data
228
+ when /\AArray<(.+)>\z/
229
+ # e.g. Array<Pet>
230
+ sub_type = $1
231
+ data.map {|item| convert_to_type(item, sub_type) }
232
+ when /\AHash\<String, (.+)\>\z/
233
+ # e.g. Hash<String, Integer>
234
+ sub_type = $1
235
+ {}.tap do |hash|
236
+ data.each {|k, v| hash[k] = convert_to_type(v, sub_type) }
237
+ end
238
+ else
239
+ # models, e.g. Pet
240
+ AsposeCellsCloud.const_get(return_type).new.tap do |model|
241
+ model.build_from_hash data
242
+ end
243
+ end
244
+ end
245
+
246
+ # Save response body into a file in (the defined) temporary folder, using the filename
247
+ # from the "Content-Disposition" header if provided, otherwise a random filename.
248
+ # The response body is written to the file in chunks in order to handle files which
249
+ # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
250
+ # process can use.
251
+ #
252
+ # @see Configuration#temp_folder_path
253
+ def download_file(response)
254
+ tempfile = nil
255
+ encoding = nil
256
+
257
+ content_disposition = response.headers['Content-Disposition']
258
+ if content_disposition and content_disposition =~ /filename=/i
259
+ filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
260
+ prefix = sanitize_filename(filename)
261
+ else
262
+ prefix = 'download-'
263
+ end
264
+ prefix = prefix + '-' unless prefix.end_with?('-')
265
+ encoding = response.body.encoding
266
+ tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
267
+ @tempfile = tempfile
268
+
269
+ tempfile.write(response.body)
270
+
271
+ response.on_complete do |resp|
272
+ tempfile.close
273
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
274
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
275
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
276
+ "explicitly with `tempfile.delete`"
277
+ end
278
+ end
279
+
280
+ # Sanitize filename by removing path.
281
+ # e.g. ../../sun.gif becomes sun.gif
282
+ #
283
+ # @param [String] filename the filename to be sanitized
284
+ # @return [String] the sanitized filename
285
+ def sanitize_filename(filename)
286
+ filename.gsub(/.*[\/\\]/, '')
287
+ end
288
+
289
+ def build_request_url(path)
290
+ # Add leading and trailing slashes to path
291
+ path = "/#{path}".gsub(/\/+/, '/')
292
+ URI.encode(@config.base_url + path)
293
+ end
294
+
295
+ # Builds the HTTP request body
296
+ #
297
+ # @param [Hash] header_params Header parameters
298
+ # @param [Hash] form_params Query parameters
299
+ # @param [Object] body HTTP body (JSON/XML)
300
+ # @return [String] HTTP body data in the form of string
301
+ def build_request_body(header_params, form_params, body)
302
+ # http form
303
+ if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
304
+ header_params['Content-Type'] == 'multipart/form-data'
305
+ data = {}
306
+ form_params.each do |key, value|
307
+ case value
308
+ when ::File
309
+ data[key] = Faraday::UploadIO.new(value.path, MimeMagic.by_magic(value).to_s, key)
310
+ when ::Array, nil
311
+ # let typhoeus handle File, Array and nil parameters
312
+ data[key] = value
313
+ else
314
+ data[key] = value.to_s
315
+ end
316
+ end
317
+ elsif body
318
+ data = body.is_a?(String) ? body : body.to_json
319
+ else
320
+ data = nil
321
+ end
322
+ data
323
+ end
324
+
325
+ # Update hearder and query params based on authentication settings.
326
+ #
327
+ # @param [Hash] header_params Header parameters
328
+ # @param [Hash] query_params Query parameters
329
+ # @param [String] auth_names Authentication scheme name
330
+ def update_params_for_auth!(header_params, query_params, auth_names)
331
+ Array(auth_names).each do |auth_name|
332
+ auth_setting = @config.auth_settings[auth_name]
333
+ next unless auth_setting
334
+ case auth_setting[:in]
335
+ when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
336
+ when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
337
+ else raise ArgumentError, 'Authentication token must be in `query` of `header`'
338
+ end
339
+ end
340
+ end
341
+
342
+ # Sets user agent in HTTP header
343
+ #
344
+ # @param [String] user_agent User agent (e.g. swagger-codegen/ruby/1.0.0)
345
+ def user_agent=(user_agent)
346
+ @user_agent = user_agent
347
+ @default_headers['User-Agent'] = @user_agent
348
+ end
349
+
350
+ # Return Accept header based on an array of accepts provided.
351
+ # @param [Array] accepts array for Accept
352
+ # @return [String] the Accept header (e.g. application/json)
353
+ def select_header_accept(accepts)
354
+ return nil if accepts.nil? || accepts.empty?
355
+ # use JSON when present, otherwise use all of the provided
356
+ json_accept = accepts.find { |s| json_mime?(s) }
357
+ return json_accept || accepts.join(',')
358
+ end
359
+
360
+ # Return Content-Type header based on an array of content types provided.
361
+ # @param [Array] content_types array for Content-Type
362
+ # @return [String] the Content-Type header (e.g. application/json)
363
+ def select_header_content_type(content_types)
364
+ # use application/json by default
365
+ return 'application/json' if content_types.nil? || content_types.empty?
366
+ # use JSON when present, otherwise use the first one
367
+ json_content_type = content_types.find { |s| json_mime?(s) }
368
+ return json_content_type || content_types.first
369
+ end
370
+
371
+ # Convert object (array, hash, object, etc) to JSON string.
372
+ # @param [Object] model object to be converted into JSON string
373
+ # @return [String] JSON string representation of the object
374
+ def object_to_http_body(model)
375
+ return '"' + model + '"' if model.is_a?(String)
376
+ return model if model.nil?
377
+ local_body = nil
378
+ if model.is_a?(Array)
379
+ local_body = model.map{|m| object_to_hash(m) }
380
+ else
381
+ local_body = object_to_hash(model)
382
+ end
383
+ local_body.to_json
384
+ end
385
+
386
+ # Convert object(non-array) to hash.
387
+ # @param [Object] obj object to be converted into JSON string
388
+ # @return [String] JSON string representation of the object
389
+ def object_to_hash(obj)
390
+ if obj.respond_to?(:to_hash)
391
+ obj.to_hash
392
+ else
393
+ obj
394
+ end
395
+ end
396
+
397
+ # Build parameter value according to the given collection format.
398
+ # @param [String] collection_format one of :csv, :ssv, :tsv, :pipes and :multi
399
+ def build_collection_param(param, collection_format)
400
+ case collection_format
401
+ when :csv
402
+ param.join(',')
403
+ when :ssv
404
+ param.join(' ')
405
+ when :tsv
406
+ param.join("\t")
407
+ when :pipes
408
+ param.join('|')
409
+ when :multi
410
+ # return the array directly as faraday will handle it as expected
411
+ param
412
+ else
413
+ fail "unknown collection format: #{collection_format.inspect}"
414
+ end
415
+ end
416
+
417
+ # Request access and refresh tokens if needed
418
+ def request_token_if_needed
419
+ # check token exists
420
+ if @config.access_token
421
+ now = Time.now
422
+ time_difference = now - $get_access_token_time
423
+ if time_difference < 86300
424
+ return
425
+ end
426
+ end
427
+
428
+ # resource path
429
+ local_var_path = "/connect/token"
430
+ if @config.api_version === "v1.1"
431
+ local_var_path ="/oauth2/token"
432
+ end
433
+ url = build_request_url(local_var_path).gsub('/'+config.api_version, '')
434
+ #url = build_request_url(local_var_path).gsub('/v3.0', '')
435
+
436
+ # header parameters
437
+ header_params = {}
438
+ # HTTP header 'Content-Type'
439
+ header_params['Content-Type'] = select_header_content_type(['application/x-www-form-urlencoded'])
440
+
441
+ query_params = {}
442
+ # form parameters
443
+ form_params = {}
444
+ form_params["grant_type"] = 'client_credentials'
445
+ form_params["client_id"] = @config.app_sid
446
+ form_params["client_secret"] = @config.app_key
447
+
448
+ body = {}
449
+
450
+
451
+ req_opts = {
452
+ :headers => header_params,
453
+ :params => query_params,
454
+ :body => body
455
+ }
456
+
457
+
458
+ req_body = build_request_body(header_params, form_params, body)
459
+ req_opts.update :body => req_body
460
+
461
+ req_opts[:params] = query_params
462
+
463
+
464
+ conn = Faraday.new url, {:params => query_params, :headers => header_params} do |f|
465
+ f.request :multipart
466
+ f.request :url_encoded
467
+ f.adapter Faraday.default_adapter
468
+ end
469
+
470
+ if req_opts[:body] == {}
471
+ req_opts[:body] = nil
472
+ end
473
+
474
+
475
+ response = conn.post url, form_params, req_opts[:body]
476
+ data = JSON.parse("[#{response.body}]", :symbolize_names => true)[0]
477
+
478
+ @config.access_token = data[:access_token]
479
+
480
+ $get_access_token_time = Time.now
481
+ end
482
+
483
+ # Adds OAuth2.0 token
484
+ def add_o_auth_token(req_opts)
485
+ req_opts[:headers][:Authorization] = "Bearer " + @config.access_token
486
+ end
487
+
488
+ end
489
+ end