imagekitio 3.0.0 → 4.0.0

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 (483) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +116 -0
  4. data/README.md +538 -679
  5. data/SECURITY.md +27 -0
  6. data/lib/imagekitio/client.rb +122 -195
  7. data/lib/imagekitio/errors.rb +226 -2
  8. data/lib/imagekitio/file_part.rb +58 -0
  9. data/lib/imagekitio/helpers/crypto_utils.rb +25 -0
  10. data/lib/imagekitio/helpers/helper.rb +689 -0
  11. data/lib/imagekitio/helpers/transformation_utils.rb +164 -0
  12. data/lib/imagekitio/helpers/uuid_utils.rb +18 -0
  13. data/lib/imagekitio/internal/transport/base_client.rb +567 -0
  14. data/lib/imagekitio/internal/transport/pooled_net_requester.rb +217 -0
  15. data/lib/imagekitio/internal/type/array_of.rb +168 -0
  16. data/lib/imagekitio/internal/type/base_model.rb +530 -0
  17. data/lib/imagekitio/internal/type/base_page.rb +55 -0
  18. data/lib/imagekitio/internal/type/boolean.rb +77 -0
  19. data/lib/imagekitio/internal/type/converter.rb +327 -0
  20. data/lib/imagekitio/internal/type/enum.rb +156 -0
  21. data/lib/imagekitio/internal/type/file_input.rb +111 -0
  22. data/lib/imagekitio/internal/type/hash_of.rb +188 -0
  23. data/lib/imagekitio/internal/type/request_parameters.rb +42 -0
  24. data/lib/imagekitio/internal/type/union.rb +250 -0
  25. data/lib/imagekitio/internal/type/unknown.rb +81 -0
  26. data/lib/imagekitio/internal/util.rb +915 -0
  27. data/lib/imagekitio/internal.rb +20 -0
  28. data/lib/imagekitio/models/accounts/origin_create_params.rb +24 -0
  29. data/lib/imagekitio/models/accounts/origin_delete_params.rb +16 -0
  30. data/lib/imagekitio/models/accounts/origin_get_params.rb +16 -0
  31. data/lib/imagekitio/models/accounts/origin_list_params.rb +16 -0
  32. data/lib/imagekitio/models/accounts/origin_list_response.rb +11 -0
  33. data/lib/imagekitio/models/accounts/origin_request.rb +547 -0
  34. data/lib/imagekitio/models/accounts/origin_response.rb +568 -0
  35. data/lib/imagekitio/models/accounts/origin_update_params.rb +24 -0
  36. data/lib/imagekitio/models/accounts/url_endpoint_create_params.rb +16 -0
  37. data/lib/imagekitio/models/accounts/url_endpoint_delete_params.rb +16 -0
  38. data/lib/imagekitio/models/accounts/url_endpoint_get_params.rb +16 -0
  39. data/lib/imagekitio/models/accounts/url_endpoint_list_params.rb +16 -0
  40. data/lib/imagekitio/models/accounts/url_endpoint_list_response.rb +11 -0
  41. data/lib/imagekitio/models/accounts/url_endpoint_request.rb +110 -0
  42. data/lib/imagekitio/models/accounts/url_endpoint_response.rb +123 -0
  43. data/lib/imagekitio/models/accounts/url_endpoint_update_params.rb +16 -0
  44. data/lib/imagekitio/models/accounts/usage_get_params.rb +37 -0
  45. data/lib/imagekitio/models/accounts/usage_get_response.rb +51 -0
  46. data/lib/imagekitio/models/asset_list_params.rb +158 -0
  47. data/lib/imagekitio/models/asset_list_response.rb +24 -0
  48. data/lib/imagekitio/models/base_overlay.rb +21 -0
  49. data/lib/imagekitio/models/base_webhook_event.rb +24 -0
  50. data/lib/imagekitio/models/beta/v2/file_upload_params.rb +510 -0
  51. data/lib/imagekitio/models/beta/v2/file_upload_response.rb +618 -0
  52. data/lib/imagekitio/models/cache/invalidation_create_params.rb +27 -0
  53. data/lib/imagekitio/models/cache/invalidation_create_response.rb +23 -0
  54. data/lib/imagekitio/models/cache/invalidation_get_params.rb +16 -0
  55. data/lib/imagekitio/models/cache/invalidation_get_response.rb +35 -0
  56. data/lib/imagekitio/models/custom_metadata_field.rb +243 -0
  57. data/lib/imagekitio/models/custom_metadata_field_create_params.rb +238 -0
  58. data/lib/imagekitio/models/custom_metadata_field_delete_params.rb +14 -0
  59. data/lib/imagekitio/models/custom_metadata_field_delete_response.rb +10 -0
  60. data/lib/imagekitio/models/custom_metadata_field_list_params.rb +36 -0
  61. data/lib/imagekitio/models/custom_metadata_field_list_response.rb +9 -0
  62. data/lib/imagekitio/models/custom_metadata_field_update_params.rb +212 -0
  63. data/lib/imagekitio/models/extensions.rb +136 -0
  64. data/lib/imagekitio/models/file.rb +497 -0
  65. data/lib/imagekitio/models/file_copy_params.rb +43 -0
  66. data/lib/imagekitio/models/file_copy_response.rb +10 -0
  67. data/lib/imagekitio/models/file_delete_params.rb +14 -0
  68. data/lib/imagekitio/models/file_get_params.rb +14 -0
  69. data/lib/imagekitio/models/file_move_params.rb +33 -0
  70. data/lib/imagekitio/models/file_move_response.rb +10 -0
  71. data/lib/imagekitio/models/file_rename_params.rb +61 -0
  72. data/lib/imagekitio/models/file_rename_response.rb +21 -0
  73. data/lib/imagekitio/models/file_update_params.rb +22 -0
  74. data/lib/imagekitio/models/file_update_response.rb +104 -0
  75. data/lib/imagekitio/models/file_upload_params.rb +540 -0
  76. data/lib/imagekitio/models/file_upload_response.rb +611 -0
  77. data/lib/imagekitio/models/files/bulk_add_tags_params.rb +35 -0
  78. data/lib/imagekitio/models/files/bulk_add_tags_response.rb +24 -0
  79. data/lib/imagekitio/models/files/bulk_delete_params.rb +27 -0
  80. data/lib/imagekitio/models/files/bulk_delete_response.rb +24 -0
  81. data/lib/imagekitio/models/files/bulk_remove_ai_tags_params.rb +35 -0
  82. data/lib/imagekitio/models/files/bulk_remove_ai_tags_response.rb +24 -0
  83. data/lib/imagekitio/models/files/bulk_remove_tags_params.rb +35 -0
  84. data/lib/imagekitio/models/files/bulk_remove_tags_response.rb +24 -0
  85. data/lib/imagekitio/models/files/metadata_get_from_url_params.rb +28 -0
  86. data/lib/imagekitio/models/files/metadata_get_params.rb +16 -0
  87. data/lib/imagekitio/models/files/version_delete_params.rb +22 -0
  88. data/lib/imagekitio/models/files/version_delete_response.rb +12 -0
  89. data/lib/imagekitio/models/files/version_get_params.rb +22 -0
  90. data/lib/imagekitio/models/files/version_list_params.rb +16 -0
  91. data/lib/imagekitio/models/files/version_list_response.rb +10 -0
  92. data/lib/imagekitio/models/files/version_restore_params.rb +22 -0
  93. data/lib/imagekitio/models/folder.rb +76 -0
  94. data/lib/imagekitio/models/folder_copy_params.rb +44 -0
  95. data/lib/imagekitio/models/folder_copy_response.rb +23 -0
  96. data/lib/imagekitio/models/folder_create_params.rb +43 -0
  97. data/lib/imagekitio/models/folder_create_response.rb +10 -0
  98. data/lib/imagekitio/models/folder_delete_params.rb +25 -0
  99. data/lib/imagekitio/models/folder_delete_response.rb +10 -0
  100. data/lib/imagekitio/models/folder_move_params.rb +34 -0
  101. data/lib/imagekitio/models/folder_move_response.rb +23 -0
  102. data/lib/imagekitio/models/folder_rename_params.rb +59 -0
  103. data/lib/imagekitio/models/folder_rename_response.rb +23 -0
  104. data/lib/imagekitio/models/folders/job_get_params.rb +16 -0
  105. data/lib/imagekitio/models/folders/job_get_response.rb +74 -0
  106. data/lib/imagekitio/models/get_image_attributes_options.rb +68 -0
  107. data/lib/imagekitio/models/image_overlay.rb +66 -0
  108. data/lib/imagekitio/models/metadata.rb +483 -0
  109. data/lib/imagekitio/models/overlay.rb +28 -0
  110. data/lib/imagekitio/models/overlay_position.rb +101 -0
  111. data/lib/imagekitio/models/overlay_timing.rb +97 -0
  112. data/lib/imagekitio/models/responsive_image_attributes.rb +48 -0
  113. data/lib/imagekitio/models/solid_color_overlay.rb +42 -0
  114. data/lib/imagekitio/models/solid_color_overlay_transformation.rb +135 -0
  115. data/lib/imagekitio/models/src_options.rb +96 -0
  116. data/lib/imagekitio/models/streaming_resolution.rb +22 -0
  117. data/lib/imagekitio/models/subtitle_overlay.rb +64 -0
  118. data/lib/imagekitio/models/subtitle_overlay_transformation.rb +113 -0
  119. data/lib/imagekitio/models/text_overlay.rb +65 -0
  120. data/lib/imagekitio/models/text_overlay_transformation.rb +267 -0
  121. data/lib/imagekitio/models/transformation.rb +1100 -0
  122. data/lib/imagekitio/models/transformation_position.rb +19 -0
  123. data/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +36 -0
  124. data/lib/imagekitio/models/unwrap_webhook_event.rb +36 -0
  125. data/lib/imagekitio/models/update_file_request.rb +164 -0
  126. data/lib/imagekitio/models/upload_post_transform_error_event.rb +180 -0
  127. data/lib/imagekitio/models/upload_post_transform_success_event.rb +143 -0
  128. data/lib/imagekitio/models/upload_pre_transform_error_event.rb +108 -0
  129. data/lib/imagekitio/models/upload_pre_transform_success_event.rb +690 -0
  130. data/lib/imagekitio/models/video_overlay.rb +64 -0
  131. data/lib/imagekitio/models/video_transformation_accepted_event.rb +279 -0
  132. data/lib/imagekitio/models/video_transformation_error_event.rb +326 -0
  133. data/lib/imagekitio/models/video_transformation_ready_event.rb +379 -0
  134. data/lib/imagekitio/models/webhook_unsafe_unwrap_params.rb +14 -0
  135. data/lib/imagekitio/models/webhook_unwrap_params.rb +14 -0
  136. data/lib/imagekitio/models.rb +160 -0
  137. data/lib/imagekitio/request_options.rb +77 -0
  138. data/lib/imagekitio/resources/accounts/origins.rb +145 -0
  139. data/lib/imagekitio/resources/accounts/url_endpoints.rb +151 -0
  140. data/lib/imagekitio/resources/accounts/usage.rb +46 -0
  141. data/lib/imagekitio/resources/accounts.rb +26 -0
  142. data/lib/imagekitio/resources/assets.rb +54 -0
  143. data/lib/imagekitio/resources/beta/v2/files.rb +110 -0
  144. data/lib/imagekitio/resources/beta/v2.rb +20 -0
  145. data/lib/imagekitio/resources/beta.rb +18 -0
  146. data/lib/imagekitio/resources/cache/invalidation.rb +66 -0
  147. data/lib/imagekitio/resources/cache.rb +18 -0
  148. data/lib/imagekitio/resources/custom_metadata_fields.rb +133 -0
  149. data/lib/imagekitio/resources/files/bulk.rb +131 -0
  150. data/lib/imagekitio/resources/files/metadata.rb +69 -0
  151. data/lib/imagekitio/resources/files/versions.rb +132 -0
  152. data/lib/imagekitio/resources/files.rb +305 -0
  153. data/lib/imagekitio/resources/folders/job.rb +39 -0
  154. data/lib/imagekitio/resources/folders.rb +166 -0
  155. data/lib/imagekitio/resources/webhooks.rb +30 -0
  156. data/lib/imagekitio/version.rb +5 -0
  157. data/lib/imagekitio.rb +181 -13
  158. data/manifest.yaml +15 -0
  159. data/rbi/imagekitio/client.rbi +92 -0
  160. data/rbi/imagekitio/errors.rbi +205 -0
  161. data/rbi/imagekitio/file_part.rbi +37 -0
  162. data/rbi/imagekitio/helpers/helper.rbi +41 -0
  163. data/rbi/imagekitio/internal/transport/base_client.rbi +295 -0
  164. data/rbi/imagekitio/internal/transport/pooled_net_requester.rbi +80 -0
  165. data/rbi/imagekitio/internal/type/array_of.rbi +104 -0
  166. data/rbi/imagekitio/internal/type/base_model.rbi +304 -0
  167. data/rbi/imagekitio/internal/type/base_page.rbi +42 -0
  168. data/rbi/imagekitio/internal/type/boolean.rbi +58 -0
  169. data/rbi/imagekitio/internal/type/converter.rbi +216 -0
  170. data/rbi/imagekitio/internal/type/enum.rbi +82 -0
  171. data/rbi/imagekitio/internal/type/file_input.rbi +59 -0
  172. data/rbi/imagekitio/internal/type/hash_of.rbi +104 -0
  173. data/rbi/imagekitio/internal/type/request_parameters.rbi +29 -0
  174. data/rbi/imagekitio/internal/type/union.rbi +128 -0
  175. data/rbi/imagekitio/internal/type/unknown.rbi +58 -0
  176. data/rbi/imagekitio/internal/util.rbi +487 -0
  177. data/rbi/imagekitio/internal.rbi +18 -0
  178. data/rbi/imagekitio/models/accounts/origin_create_params.rbi +81 -0
  179. data/rbi/imagekitio/models/accounts/origin_delete_params.rbi +34 -0
  180. data/rbi/imagekitio/models/accounts/origin_get_params.rbi +34 -0
  181. data/rbi/imagekitio/models/accounts/origin_list_params.rbi +34 -0
  182. data/rbi/imagekitio/models/accounts/origin_list_response.rbi +15 -0
  183. data/rbi/imagekitio/models/accounts/origin_request.rbi +775 -0
  184. data/rbi/imagekitio/models/accounts/origin_response.rbi +718 -0
  185. data/rbi/imagekitio/models/accounts/origin_update_params.rbi +81 -0
  186. data/rbi/imagekitio/models/accounts/url_endpoint_create_params.rbi +34 -0
  187. data/rbi/imagekitio/models/accounts/url_endpoint_delete_params.rbi +34 -0
  188. data/rbi/imagekitio/models/accounts/url_endpoint_get_params.rbi +34 -0
  189. data/rbi/imagekitio/models/accounts/url_endpoint_list_params.rbi +34 -0
  190. data/rbi/imagekitio/models/accounts/url_endpoint_list_response.rbi +15 -0
  191. data/rbi/imagekitio/models/accounts/url_endpoint_request.rbi +218 -0
  192. data/rbi/imagekitio/models/accounts/url_endpoint_response.rbi +213 -0
  193. data/rbi/imagekitio/models/accounts/url_endpoint_update_params.rbi +34 -0
  194. data/rbi/imagekitio/models/accounts/usage_get_params.rbi +60 -0
  195. data/rbi/imagekitio/models/accounts/usage_get_response.rbi +89 -0
  196. data/rbi/imagekitio/models/asset_list_params.rbi +281 -0
  197. data/rbi/imagekitio/models/asset_list_response.rbi +28 -0
  198. data/rbi/imagekitio/models/base_overlay.rbi +44 -0
  199. data/rbi/imagekitio/models/base_webhook_event.rbi +33 -0
  200. data/rbi/imagekitio/models/beta/v2/file_upload_params.rbi +861 -0
  201. data/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +1197 -0
  202. data/rbi/imagekitio/models/cache/invalidation_create_params.rbi +45 -0
  203. data/rbi/imagekitio/models/cache/invalidation_create_response.rbi +37 -0
  204. data/rbi/imagekitio/models/cache/invalidation_get_params.rbi +34 -0
  205. data/rbi/imagekitio/models/cache/invalidation_get_response.rbi +93 -0
  206. data/rbi/imagekitio/models/custom_metadata_field.rbi +422 -0
  207. data/rbi/imagekitio/models/custom_metadata_field_create_params.rbi +443 -0
  208. data/rbi/imagekitio/models/custom_metadata_field_delete_params.rbi +30 -0
  209. data/rbi/imagekitio/models/custom_metadata_field_delete_response.rbi +23 -0
  210. data/rbi/imagekitio/models/custom_metadata_field_list_params.rbi +66 -0
  211. data/rbi/imagekitio/models/custom_metadata_field_list_response.rbi +11 -0
  212. data/rbi/imagekitio/models/custom_metadata_field_update_params.rbi +376 -0
  213. data/rbi/imagekitio/models/extensions.rbi +274 -0
  214. data/rbi/imagekitio/models/file.rbi +789 -0
  215. data/rbi/imagekitio/models/file_copy_params.rbi +66 -0
  216. data/rbi/imagekitio/models/file_copy_response.rbi +23 -0
  217. data/rbi/imagekitio/models/file_delete_params.rbi +27 -0
  218. data/rbi/imagekitio/models/file_get_params.rbi +27 -0
  219. data/rbi/imagekitio/models/file_move_params.rbi +51 -0
  220. data/rbi/imagekitio/models/file_move_response.rbi +23 -0
  221. data/rbi/imagekitio/models/file_rename_params.rbi +102 -0
  222. data/rbi/imagekitio/models/file_rename_response.rbi +35 -0
  223. data/rbi/imagekitio/models/file_update_params.rbi +58 -0
  224. data/rbi/imagekitio/models/file_update_response.rbi +322 -0
  225. data/rbi/imagekitio/models/file_upload_params.rbi +897 -0
  226. data/rbi/imagekitio/models/file_upload_response.rbi +1176 -0
  227. data/rbi/imagekitio/models/files/bulk_add_tags_params.rbi +56 -0
  228. data/rbi/imagekitio/models/files/bulk_add_tags_response.rbi +41 -0
  229. data/rbi/imagekitio/models/files/bulk_delete_params.rbi +48 -0
  230. data/rbi/imagekitio/models/files/bulk_delete_response.rbi +41 -0
  231. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_params.rbi +56 -0
  232. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_response.rbi +41 -0
  233. data/rbi/imagekitio/models/files/bulk_remove_tags_params.rbi +56 -0
  234. data/rbi/imagekitio/models/files/bulk_remove_tags_response.rbi +41 -0
  235. data/rbi/imagekitio/models/files/metadata_get_from_url_params.rbi +47 -0
  236. data/rbi/imagekitio/models/files/metadata_get_params.rbi +34 -0
  237. data/rbi/imagekitio/models/files/version_delete_params.rbi +40 -0
  238. data/rbi/imagekitio/models/files/version_delete_response.rbi +25 -0
  239. data/rbi/imagekitio/models/files/version_get_params.rbi +40 -0
  240. data/rbi/imagekitio/models/files/version_list_params.rbi +34 -0
  241. data/rbi/imagekitio/models/files/version_list_response.rbi +13 -0
  242. data/rbi/imagekitio/models/files/version_restore_params.rbi +40 -0
  243. data/rbi/imagekitio/models/folder.rbi +121 -0
  244. data/rbi/imagekitio/models/folder_copy_params.rbi +68 -0
  245. data/rbi/imagekitio/models/folder_copy_response.rbi +33 -0
  246. data/rbi/imagekitio/models/folder_create_params.rbi +71 -0
  247. data/rbi/imagekitio/models/folder_create_response.rbi +23 -0
  248. data/rbi/imagekitio/models/folder_delete_params.rbi +40 -0
  249. data/rbi/imagekitio/models/folder_delete_response.rbi +23 -0
  250. data/rbi/imagekitio/models/folder_move_params.rbi +53 -0
  251. data/rbi/imagekitio/models/folder_move_response.rbi +33 -0
  252. data/rbi/imagekitio/models/folder_rename_params.rbi +98 -0
  253. data/rbi/imagekitio/models/folder_rename_response.rbi +33 -0
  254. data/rbi/imagekitio/models/folders/job_get_params.rbi +34 -0
  255. data/rbi/imagekitio/models/folders/job_get_response.rbi +173 -0
  256. data/rbi/imagekitio/models/get_image_attributes_options.rbi +121 -0
  257. data/rbi/imagekitio/models/image_overlay.rbi +109 -0
  258. data/rbi/imagekitio/models/metadata.rbi +813 -0
  259. data/rbi/imagekitio/models/overlay.rbi +28 -0
  260. data/rbi/imagekitio/models/overlay_position.rbi +148 -0
  261. data/rbi/imagekitio/models/overlay_timing.rbi +135 -0
  262. data/rbi/imagekitio/models/responsive_image_attributes.rbi +74 -0
  263. data/rbi/imagekitio/models/solid_color_overlay.rbi +79 -0
  264. data/rbi/imagekitio/models/solid_color_overlay_transformation.rbi +218 -0
  265. data/rbi/imagekitio/models/src_options.rbi +159 -0
  266. data/rbi/imagekitio/models/streaming_resolution.rbi +38 -0
  267. data/rbi/imagekitio/models/subtitle_overlay.rbi +114 -0
  268. data/rbi/imagekitio/models/subtitle_overlay_transformation.rbi +215 -0
  269. data/rbi/imagekitio/models/text_overlay.rbi +110 -0
  270. data/rbi/imagekitio/models/text_overlay_transformation.rbi +451 -0
  271. data/rbi/imagekitio/models/transformation.rbi +1646 -0
  272. data/rbi/imagekitio/models/transformation_position.rbi +28 -0
  273. data/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +33 -0
  274. data/rbi/imagekitio/models/unwrap_webhook_event.rbi +31 -0
  275. data/rbi/imagekitio/models/update_file_request.rbi +316 -0
  276. data/rbi/imagekitio/models/upload_post_transform_error_event.rbi +434 -0
  277. data/rbi/imagekitio/models/upload_post_transform_success_event.rbi +327 -0
  278. data/rbi/imagekitio/models/upload_pre_transform_error_event.rbi +244 -0
  279. data/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +1300 -0
  280. data/rbi/imagekitio/models/video_overlay.rbi +105 -0
  281. data/rbi/imagekitio/models/video_transformation_accepted_event.rbi +659 -0
  282. data/rbi/imagekitio/models/video_transformation_error_event.rbi +772 -0
  283. data/rbi/imagekitio/models/video_transformation_ready_event.rbi +864 -0
  284. data/rbi/imagekitio/models/webhook_unsafe_unwrap_params.rbi +30 -0
  285. data/rbi/imagekitio/models/webhook_unwrap_params.rbi +27 -0
  286. data/rbi/imagekitio/models.rbi +135 -0
  287. data/rbi/imagekitio/request_options.rbi +59 -0
  288. data/rbi/imagekitio/resources/accounts/origins.rbi +91 -0
  289. data/rbi/imagekitio/resources/accounts/url_endpoints.rbi +129 -0
  290. data/rbi/imagekitio/resources/accounts/usage.rbi +36 -0
  291. data/rbi/imagekitio/resources/accounts.rbi +21 -0
  292. data/rbi/imagekitio/resources/assets.rbi +74 -0
  293. data/rbi/imagekitio/resources/beta/v2/files.rbi +193 -0
  294. data/rbi/imagekitio/resources/beta/v2.rbi +17 -0
  295. data/rbi/imagekitio/resources/beta.rbi +15 -0
  296. data/rbi/imagekitio/resources/cache/invalidation.rbi +44 -0
  297. data/rbi/imagekitio/resources/cache.rbi +15 -0
  298. data/rbi/imagekitio/resources/custom_metadata_fields.rbi +106 -0
  299. data/rbi/imagekitio/resources/files/bulk.rbi +88 -0
  300. data/rbi/imagekitio/resources/files/metadata.rbi +49 -0
  301. data/rbi/imagekitio/resources/files/versions.rbi +89 -0
  302. data/rbi/imagekitio/resources/files.rbi +364 -0
  303. data/rbi/imagekitio/resources/folders/job.rbi +29 -0
  304. data/rbi/imagekitio/resources/folders.rbi +146 -0
  305. data/rbi/imagekitio/resources/webhooks.rbi +50 -0
  306. data/rbi/imagekitio/version.rbi +5 -0
  307. data/sig/imagekitio/client.rbs +47 -0
  308. data/sig/imagekitio/errors.rbs +117 -0
  309. data/sig/imagekitio/file_part.rbs +21 -0
  310. data/sig/imagekitio/helpers/helper.rbs +24 -0
  311. data/sig/imagekitio/internal/transport/base_client.rbs +131 -0
  312. data/sig/imagekitio/internal/transport/pooled_net_requester.rbs +45 -0
  313. data/sig/imagekitio/internal/type/array_of.rbs +48 -0
  314. data/sig/imagekitio/internal/type/base_model.rbs +102 -0
  315. data/sig/imagekitio/internal/type/base_page.rbs +24 -0
  316. data/sig/imagekitio/internal/type/boolean.rbs +26 -0
  317. data/sig/imagekitio/internal/type/converter.rbs +79 -0
  318. data/sig/imagekitio/internal/type/enum.rbs +32 -0
  319. data/sig/imagekitio/internal/type/file_input.rbs +25 -0
  320. data/sig/imagekitio/internal/type/hash_of.rbs +48 -0
  321. data/sig/imagekitio/internal/type/request_parameters.rbs +19 -0
  322. data/sig/imagekitio/internal/type/union.rbs +52 -0
  323. data/sig/imagekitio/internal/type/unknown.rbs +26 -0
  324. data/sig/imagekitio/internal/util.rbs +185 -0
  325. data/sig/imagekitio/internal.rbs +9 -0
  326. data/sig/imagekitio/models/accounts/origin_create_params.rbs +30 -0
  327. data/sig/imagekitio/models/accounts/origin_delete_params.rbs +17 -0
  328. data/sig/imagekitio/models/accounts/origin_get_params.rbs +17 -0
  329. data/sig/imagekitio/models/accounts/origin_list_params.rbs +17 -0
  330. data/sig/imagekitio/models/accounts/origin_list_response.rbs +10 -0
  331. data/sig/imagekitio/models/accounts/origin_request.rbs +468 -0
  332. data/sig/imagekitio/models/accounts/origin_response.rbs +418 -0
  333. data/sig/imagekitio/models/accounts/origin_update_params.rbs +30 -0
  334. data/sig/imagekitio/models/accounts/url_endpoint_create_params.rbs +17 -0
  335. data/sig/imagekitio/models/accounts/url_endpoint_delete_params.rbs +17 -0
  336. data/sig/imagekitio/models/accounts/url_endpoint_get_params.rbs +17 -0
  337. data/sig/imagekitio/models/accounts/url_endpoint_list_params.rbs +17 -0
  338. data/sig/imagekitio/models/accounts/url_endpoint_list_response.rbs +10 -0
  339. data/sig/imagekitio/models/accounts/url_endpoint_request.rbs +97 -0
  340. data/sig/imagekitio/models/accounts/url_endpoint_response.rbs +96 -0
  341. data/sig/imagekitio/models/accounts/url_endpoint_update_params.rbs +17 -0
  342. data/sig/imagekitio/models/accounts/usage_get_params.rbs +30 -0
  343. data/sig/imagekitio/models/accounts/usage_get_response.rbs +52 -0
  344. data/sig/imagekitio/models/asset_list_params.rbs +138 -0
  345. data/sig/imagekitio/models/asset_list_response.rbs +16 -0
  346. data/sig/imagekitio/models/base_overlay.rbs +31 -0
  347. data/sig/imagekitio/models/base_webhook_event.rbs +15 -0
  348. data/sig/imagekitio/models/beta/v2/file_upload_params.rbs +310 -0
  349. data/sig/imagekitio/models/beta/v2/file_upload_response.rbs +487 -0
  350. data/sig/imagekitio/models/cache/invalidation_create_params.rbs +25 -0
  351. data/sig/imagekitio/models/cache/invalidation_create_response.rbs +17 -0
  352. data/sig/imagekitio/models/cache/invalidation_get_params.rbs +17 -0
  353. data/sig/imagekitio/models/cache/invalidation_get_response.rbs +35 -0
  354. data/sig/imagekitio/models/custom_metadata_field.rbs +178 -0
  355. data/sig/imagekitio/models/custom_metadata_field_create_params.rbs +179 -0
  356. data/sig/imagekitio/models/custom_metadata_field_delete_params.rbs +15 -0
  357. data/sig/imagekitio/models/custom_metadata_field_delete_response.rbs +11 -0
  358. data/sig/imagekitio/models/custom_metadata_field_list_params.rbs +32 -0
  359. data/sig/imagekitio/models/custom_metadata_field_list_response.rbs +8 -0
  360. data/sig/imagekitio/models/custom_metadata_field_update_params.rbs +152 -0
  361. data/sig/imagekitio/models/extensions.rbs +132 -0
  362. data/sig/imagekitio/models/file.rbs +384 -0
  363. data/sig/imagekitio/models/file_copy_params.rbs +38 -0
  364. data/sig/imagekitio/models/file_copy_response.rbs +11 -0
  365. data/sig/imagekitio/models/file_delete_params.rbs +15 -0
  366. data/sig/imagekitio/models/file_get_params.rbs +14 -0
  367. data/sig/imagekitio/models/file_move_params.rbs +28 -0
  368. data/sig/imagekitio/models/file_move_response.rbs +11 -0
  369. data/sig/imagekitio/models/file_rename_params.rbs +34 -0
  370. data/sig/imagekitio/models/file_rename_response.rbs +15 -0
  371. data/sig/imagekitio/models/file_update_params.rbs +28 -0
  372. data/sig/imagekitio/models/file_update_response.rbs +120 -0
  373. data/sig/imagekitio/models/file_upload_params.rbs +327 -0
  374. data/sig/imagekitio/models/file_upload_response.rbs +483 -0
  375. data/sig/imagekitio/models/files/bulk_add_tags_params.rbs +30 -0
  376. data/sig/imagekitio/models/files/bulk_add_tags_response.rbs +20 -0
  377. data/sig/imagekitio/models/files/bulk_delete_params.rbs +26 -0
  378. data/sig/imagekitio/models/files/bulk_delete_response.rbs +20 -0
  379. data/sig/imagekitio/models/files/bulk_remove_ai_tags_params.rbs +30 -0
  380. data/sig/imagekitio/models/files/bulk_remove_ai_tags_response.rbs +20 -0
  381. data/sig/imagekitio/models/files/bulk_remove_tags_params.rbs +30 -0
  382. data/sig/imagekitio/models/files/bulk_remove_tags_response.rbs +20 -0
  383. data/sig/imagekitio/models/files/metadata_get_from_url_params.rbs +25 -0
  384. data/sig/imagekitio/models/files/metadata_get_params.rbs +17 -0
  385. data/sig/imagekitio/models/files/version_delete_params.rbs +25 -0
  386. data/sig/imagekitio/models/files/version_delete_response.rbs +13 -0
  387. data/sig/imagekitio/models/files/version_get_params.rbs +25 -0
  388. data/sig/imagekitio/models/files/version_list_params.rbs +17 -0
  389. data/sig/imagekitio/models/files/version_list_response.rbs +9 -0
  390. data/sig/imagekitio/models/files/version_restore_params.rbs +25 -0
  391. data/sig/imagekitio/models/folder.rbs +69 -0
  392. data/sig/imagekitio/models/folder_copy_params.rbs +38 -0
  393. data/sig/imagekitio/models/folder_copy_response.rbs +13 -0
  394. data/sig/imagekitio/models/folder_create_params.rbs +28 -0
  395. data/sig/imagekitio/models/folder_create_response.rbs +11 -0
  396. data/sig/imagekitio/models/folder_delete_params.rbs +23 -0
  397. data/sig/imagekitio/models/folder_delete_response.rbs +11 -0
  398. data/sig/imagekitio/models/folder_move_params.rbs +28 -0
  399. data/sig/imagekitio/models/folder_move_response.rbs +13 -0
  400. data/sig/imagekitio/models/folder_rename_params.rbs +34 -0
  401. data/sig/imagekitio/models/folder_rename_response.rbs +13 -0
  402. data/sig/imagekitio/models/folders/job_get_params.rbs +17 -0
  403. data/sig/imagekitio/models/folders/job_get_response.rbs +72 -0
  404. data/sig/imagekitio/models/get_image_attributes_options.rbs +43 -0
  405. data/sig/imagekitio/models/image_overlay.rbs +59 -0
  406. data/sig/imagekitio/models/metadata.rbs +546 -0
  407. data/sig/imagekitio/models/overlay.rbs +16 -0
  408. data/sig/imagekitio/models/overlay_position.rbs +85 -0
  409. data/sig/imagekitio/models/overlay_timing.rbs +66 -0
  410. data/sig/imagekitio/models/responsive_image_attributes.rbs +36 -0
  411. data/sig/imagekitio/models/solid_color_overlay.rbs +38 -0
  412. data/sig/imagekitio/models/solid_color_overlay_transformation.rbs +97 -0
  413. data/sig/imagekitio/models/src_options.rbs +64 -0
  414. data/sig/imagekitio/models/streaming_resolution.rbs +20 -0
  415. data/sig/imagekitio/models/subtitle_overlay.rbs +59 -0
  416. data/sig/imagekitio/models/subtitle_overlay_transformation.rbs +78 -0
  417. data/sig/imagekitio/models/text_overlay.rbs +59 -0
  418. data/sig/imagekitio/models/text_overlay_transformation.rbs +195 -0
  419. data/sig/imagekitio/models/transformation.rbs +763 -0
  420. data/sig/imagekitio/models/transformation_position.rbs +14 -0
  421. data/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +18 -0
  422. data/sig/imagekitio/models/unwrap_webhook_event.rbs +18 -0
  423. data/sig/imagekitio/models/update_file_request.rbs +122 -0
  424. data/sig/imagekitio/models/upload_post_transform_error_event.rbs +192 -0
  425. data/sig/imagekitio/models/upload_post_transform_success_event.rbs +142 -0
  426. data/sig/imagekitio/models/upload_pre_transform_error_event.rbs +115 -0
  427. data/sig/imagekitio/models/upload_pre_transform_success_event.rbs +541 -0
  428. data/sig/imagekitio/models/video_overlay.rbs +59 -0
  429. data/sig/imagekitio/models/video_transformation_accepted_event.rbs +261 -0
  430. data/sig/imagekitio/models/video_transformation_error_event.rbs +300 -0
  431. data/sig/imagekitio/models/video_transformation_ready_event.rbs +359 -0
  432. data/sig/imagekitio/models/webhook_unsafe_unwrap_params.rbs +15 -0
  433. data/sig/imagekitio/models/webhook_unwrap_params.rbs +15 -0
  434. data/sig/imagekitio/models.rbs +119 -0
  435. data/sig/imagekitio/request_options.rbs +36 -0
  436. data/sig/imagekitio/resources/accounts/origins.rbs +34 -0
  437. data/sig/imagekitio/resources/accounts/url_endpoints.rbs +40 -0
  438. data/sig/imagekitio/resources/accounts/usage.rbs +15 -0
  439. data/sig/imagekitio/resources/accounts.rbs +13 -0
  440. data/sig/imagekitio/resources/assets.rbs +18 -0
  441. data/sig/imagekitio/resources/beta/v2/files.rbs +35 -0
  442. data/sig/imagekitio/resources/beta/v2.rbs +11 -0
  443. data/sig/imagekitio/resources/beta.rbs +9 -0
  444. data/sig/imagekitio/resources/cache/invalidation.rbs +19 -0
  445. data/sig/imagekitio/resources/cache.rbs +9 -0
  446. data/sig/imagekitio/resources/custom_metadata_fields.rbs +32 -0
  447. data/sig/imagekitio/resources/files/bulk.rbs +32 -0
  448. data/sig/imagekitio/resources/files/metadata.rbs +19 -0
  449. data/sig/imagekitio/resources/files/versions.rbs +32 -0
  450. data/sig/imagekitio/resources/files.rbs +76 -0
  451. data/sig/imagekitio/resources/folders/job.rbs +14 -0
  452. data/sig/imagekitio/resources/folders.rbs +40 -0
  453. data/sig/imagekitio/resources/webhooks.rbs +27 -0
  454. data/sig/imagekitio/version.rbs +3 -0
  455. metadata +470 -136
  456. data/Rakefile +0 -27
  457. data/lib/active_storage/active_storage.rb +0 -7
  458. data/lib/active_storage/service/ik_file.rb +0 -115
  459. data/lib/active_storage/service/image_kit_io_service.rb +0 -188
  460. data/lib/carrierwave/carrierwave.rb +0 -83
  461. data/lib/carrierwave/storage/ik_file.rb +0 -51
  462. data/lib/carrierwave/storage/imagekit_store.rb +0 -68
  463. data/lib/carrierwave/support/uri_filename.rb +0 -12
  464. data/lib/imagekitio/api_service/bulk.rb +0 -58
  465. data/lib/imagekitio/api_service/custom_metadata_field.rb +0 -52
  466. data/lib/imagekitio/api_service/file.rb +0 -221
  467. data/lib/imagekitio/api_service/folder.rb +0 -49
  468. data/lib/imagekitio/base.rb +0 -12
  469. data/lib/imagekitio/configurable.rb +0 -43
  470. data/lib/imagekitio/constant.rb +0 -36
  471. data/lib/imagekitio/constants/default.rb +0 -22
  472. data/lib/imagekitio/constants/error.rb +0 -69
  473. data/lib/imagekitio/constants/file.rb +0 -11
  474. data/lib/imagekitio/constants/supported_transformation.rb +0 -39
  475. data/lib/imagekitio/constants/url.rb +0 -14
  476. data/lib/imagekitio/railtie.rb +0 -4
  477. data/lib/imagekitio/request.rb +0 -98
  478. data/lib/imagekitio/sdk/version.rb +0 -5
  479. data/lib/imagekitio/url.rb +0 -216
  480. data/lib/imagekitio/utils/calculation.rb +0 -45
  481. data/lib/imagekitio/utils/formatter.rb +0 -48
  482. data/lib/imagekitio/utils/option_validator.rb +0 -36
  483. data/lib/tasks/imagekitio/imagekitio_tasks.rake +0 -4
@@ -0,0 +1,483 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class Metadata < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute audio_codec
7
+ # The audio codec used in the video (only for video).
8
+ #
9
+ # @return [String, nil]
10
+ optional :audio_codec, String, api_name: :audioCodec
11
+
12
+ # @!attribute bit_rate
13
+ # The bit rate of the video in kbps (only for video).
14
+ #
15
+ # @return [Integer, nil]
16
+ optional :bit_rate, Integer, api_name: :bitRate
17
+
18
+ # @!attribute density
19
+ # The density of the image in DPI.
20
+ #
21
+ # @return [Integer, nil]
22
+ optional :density, Integer
23
+
24
+ # @!attribute duration
25
+ # The duration of the video in seconds (only for video).
26
+ #
27
+ # @return [Integer, nil]
28
+ optional :duration, Integer
29
+
30
+ # @!attribute exif
31
+ #
32
+ # @return [Imagekitio::Models::Metadata::Exif, nil]
33
+ optional :exif, -> { Imagekitio::Metadata::Exif }
34
+
35
+ # @!attribute format_
36
+ # The format of the file (e.g., 'jpg', 'mp4').
37
+ #
38
+ # @return [String, nil]
39
+ optional :format_, String, api_name: :format
40
+
41
+ # @!attribute has_color_profile
42
+ # Indicates if the image has a color profile.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :has_color_profile, Imagekitio::Internal::Type::Boolean, api_name: :hasColorProfile
46
+
47
+ # @!attribute has_transparency
48
+ # Indicates if the image contains transparent areas.
49
+ #
50
+ # @return [Boolean, nil]
51
+ optional :has_transparency, Imagekitio::Internal::Type::Boolean, api_name: :hasTransparency
52
+
53
+ # @!attribute height
54
+ # The height of the image or video in pixels.
55
+ #
56
+ # @return [Integer, nil]
57
+ optional :height, Integer
58
+
59
+ # @!attribute p_hash
60
+ # Perceptual hash of the image.
61
+ #
62
+ # @return [String, nil]
63
+ optional :p_hash, String, api_name: :pHash
64
+
65
+ # @!attribute quality
66
+ # The quality indicator of the image.
67
+ #
68
+ # @return [Integer, nil]
69
+ optional :quality, Integer
70
+
71
+ # @!attribute size
72
+ # The file size in bytes.
73
+ #
74
+ # @return [Integer, nil]
75
+ optional :size, Integer
76
+
77
+ # @!attribute video_codec
78
+ # The video codec used in the video (only for video).
79
+ #
80
+ # @return [String, nil]
81
+ optional :video_codec, String, api_name: :videoCodec
82
+
83
+ # @!attribute width
84
+ # The width of the image or video in pixels.
85
+ #
86
+ # @return [Integer, nil]
87
+ optional :width, Integer
88
+
89
+ # @!method initialize(audio_codec: nil, bit_rate: nil, density: nil, duration: nil, exif: nil, format_: nil, has_color_profile: nil, has_transparency: nil, height: nil, p_hash: nil, quality: nil, size: nil, video_codec: nil, width: nil)
90
+ # JSON object containing metadata.
91
+ #
92
+ # @param audio_codec [String] The audio codec used in the video (only for video).
93
+ #
94
+ # @param bit_rate [Integer] The bit rate of the video in kbps (only for video).
95
+ #
96
+ # @param density [Integer] The density of the image in DPI.
97
+ #
98
+ # @param duration [Integer] The duration of the video in seconds (only for video).
99
+ #
100
+ # @param exif [Imagekitio::Models::Metadata::Exif]
101
+ #
102
+ # @param format_ [String] The format of the file (e.g., 'jpg', 'mp4').
103
+ #
104
+ # @param has_color_profile [Boolean] Indicates if the image has a color profile.
105
+ #
106
+ # @param has_transparency [Boolean] Indicates if the image contains transparent areas.
107
+ #
108
+ # @param height [Integer] The height of the image or video in pixels.
109
+ #
110
+ # @param p_hash [String] Perceptual hash of the image.
111
+ #
112
+ # @param quality [Integer] The quality indicator of the image.
113
+ #
114
+ # @param size [Integer] The file size in bytes.
115
+ #
116
+ # @param video_codec [String] The video codec used in the video (only for video).
117
+ #
118
+ # @param width [Integer] The width of the image or video in pixels.
119
+
120
+ # @see Imagekitio::Models::Metadata#exif
121
+ class Exif < Imagekitio::Internal::Type::BaseModel
122
+ # @!attribute exif
123
+ # Object containing Exif details.
124
+ #
125
+ # @return [Imagekitio::Models::Metadata::Exif::Exif, nil]
126
+ optional :exif, -> { Imagekitio::Metadata::Exif::Exif }
127
+
128
+ # @!attribute gps
129
+ # Object containing GPS information.
130
+ #
131
+ # @return [Imagekitio::Models::Metadata::Exif::Gps, nil]
132
+ optional :gps, -> { Imagekitio::Metadata::Exif::Gps }
133
+
134
+ # @!attribute image
135
+ # Object containing EXIF image information.
136
+ #
137
+ # @return [Imagekitio::Models::Metadata::Exif::Image, nil]
138
+ optional :image, -> { Imagekitio::Metadata::Exif::Image }
139
+
140
+ # @!attribute interoperability
141
+ # JSON object.
142
+ #
143
+ # @return [Imagekitio::Models::Metadata::Exif::Interoperability, nil]
144
+ optional :interoperability, -> { Imagekitio::Metadata::Exif::Interoperability }
145
+
146
+ # @!attribute makernote
147
+ #
148
+ # @return [Hash{Symbol=>Object}, nil]
149
+ optional :makernote, Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown]
150
+
151
+ # @!attribute thumbnail
152
+ # Object containing Thumbnail information.
153
+ #
154
+ # @return [Imagekitio::Models::Metadata::Exif::Thumbnail, nil]
155
+ optional :thumbnail, -> { Imagekitio::Metadata::Exif::Thumbnail }
156
+
157
+ # @!method initialize(exif: nil, gps: nil, image: nil, interoperability: nil, makernote: nil, thumbnail: nil)
158
+ # @param exif [Imagekitio::Models::Metadata::Exif::Exif] Object containing Exif details.
159
+ #
160
+ # @param gps [Imagekitio::Models::Metadata::Exif::Gps] Object containing GPS information.
161
+ #
162
+ # @param image [Imagekitio::Models::Metadata::Exif::Image] Object containing EXIF image information.
163
+ #
164
+ # @param interoperability [Imagekitio::Models::Metadata::Exif::Interoperability] JSON object.
165
+ #
166
+ # @param makernote [Hash{Symbol=>Object}]
167
+ #
168
+ # @param thumbnail [Imagekitio::Models::Metadata::Exif::Thumbnail] Object containing Thumbnail information.
169
+
170
+ # @see Imagekitio::Models::Metadata::Exif#exif
171
+ class Exif < Imagekitio::Internal::Type::BaseModel
172
+ # @!attribute aperture_value
173
+ #
174
+ # @return [Float, nil]
175
+ optional :aperture_value, Float, api_name: :ApertureValue
176
+
177
+ # @!attribute color_space
178
+ #
179
+ # @return [Integer, nil]
180
+ optional :color_space, Integer, api_name: :ColorSpace
181
+
182
+ # @!attribute create_date
183
+ #
184
+ # @return [String, nil]
185
+ optional :create_date, String, api_name: :CreateDate
186
+
187
+ # @!attribute custom_rendered
188
+ #
189
+ # @return [Integer, nil]
190
+ optional :custom_rendered, Integer, api_name: :CustomRendered
191
+
192
+ # @!attribute date_time_original
193
+ #
194
+ # @return [String, nil]
195
+ optional :date_time_original, String, api_name: :DateTimeOriginal
196
+
197
+ # @!attribute exif_image_height
198
+ #
199
+ # @return [Integer, nil]
200
+ optional :exif_image_height, Integer, api_name: :ExifImageHeight
201
+
202
+ # @!attribute exif_image_width
203
+ #
204
+ # @return [Integer, nil]
205
+ optional :exif_image_width, Integer, api_name: :ExifImageWidth
206
+
207
+ # @!attribute exif_version
208
+ #
209
+ # @return [String, nil]
210
+ optional :exif_version, String, api_name: :ExifVersion
211
+
212
+ # @!attribute exposure_compensation
213
+ #
214
+ # @return [Float, nil]
215
+ optional :exposure_compensation, Float, api_name: :ExposureCompensation
216
+
217
+ # @!attribute exposure_mode
218
+ #
219
+ # @return [Integer, nil]
220
+ optional :exposure_mode, Integer, api_name: :ExposureMode
221
+
222
+ # @!attribute exposure_program
223
+ #
224
+ # @return [Integer, nil]
225
+ optional :exposure_program, Integer, api_name: :ExposureProgram
226
+
227
+ # @!attribute exposure_time
228
+ #
229
+ # @return [Float, nil]
230
+ optional :exposure_time, Float, api_name: :ExposureTime
231
+
232
+ # @!attribute flash
233
+ #
234
+ # @return [Integer, nil]
235
+ optional :flash, Integer, api_name: :Flash
236
+
237
+ # @!attribute flashpix_version
238
+ #
239
+ # @return [String, nil]
240
+ optional :flashpix_version, String, api_name: :FlashpixVersion
241
+
242
+ # @!attribute f_number
243
+ #
244
+ # @return [Float, nil]
245
+ optional :f_number, Float, api_name: :FNumber
246
+
247
+ # @!attribute focal_length
248
+ #
249
+ # @return [Integer, nil]
250
+ optional :focal_length, Integer, api_name: :FocalLength
251
+
252
+ # @!attribute focal_plane_resolution_unit
253
+ #
254
+ # @return [Integer, nil]
255
+ optional :focal_plane_resolution_unit, Integer, api_name: :FocalPlaneResolutionUnit
256
+
257
+ # @!attribute focal_plane_x_resolution
258
+ #
259
+ # @return [Float, nil]
260
+ optional :focal_plane_x_resolution, Float, api_name: :FocalPlaneXResolution
261
+
262
+ # @!attribute focal_plane_y_resolution
263
+ #
264
+ # @return [Float, nil]
265
+ optional :focal_plane_y_resolution, Float, api_name: :FocalPlaneYResolution
266
+
267
+ # @!attribute interop_offset
268
+ #
269
+ # @return [Integer, nil]
270
+ optional :interop_offset, Integer, api_name: :InteropOffset
271
+
272
+ # @!attribute iso
273
+ #
274
+ # @return [Integer, nil]
275
+ optional :iso, Integer, api_name: :ISO
276
+
277
+ # @!attribute metering_mode
278
+ #
279
+ # @return [Integer, nil]
280
+ optional :metering_mode, Integer, api_name: :MeteringMode
281
+
282
+ # @!attribute scene_capture_type
283
+ #
284
+ # @return [Integer, nil]
285
+ optional :scene_capture_type, Integer, api_name: :SceneCaptureType
286
+
287
+ # @!attribute shutter_speed_value
288
+ #
289
+ # @return [Float, nil]
290
+ optional :shutter_speed_value, Float, api_name: :ShutterSpeedValue
291
+
292
+ # @!attribute sub_sec_time
293
+ #
294
+ # @return [String, nil]
295
+ optional :sub_sec_time, String, api_name: :SubSecTime
296
+
297
+ # @!attribute white_balance
298
+ #
299
+ # @return [Integer, nil]
300
+ optional :white_balance, Integer, api_name: :WhiteBalance
301
+
302
+ # @!method initialize(aperture_value: nil, color_space: nil, create_date: nil, custom_rendered: nil, date_time_original: nil, exif_image_height: nil, exif_image_width: nil, exif_version: nil, exposure_compensation: nil, exposure_mode: nil, exposure_program: nil, exposure_time: nil, flash: nil, flashpix_version: nil, f_number: nil, focal_length: nil, focal_plane_resolution_unit: nil, focal_plane_x_resolution: nil, focal_plane_y_resolution: nil, interop_offset: nil, iso: nil, metering_mode: nil, scene_capture_type: nil, shutter_speed_value: nil, sub_sec_time: nil, white_balance: nil)
303
+ # Object containing Exif details.
304
+ #
305
+ # @param aperture_value [Float]
306
+ # @param color_space [Integer]
307
+ # @param create_date [String]
308
+ # @param custom_rendered [Integer]
309
+ # @param date_time_original [String]
310
+ # @param exif_image_height [Integer]
311
+ # @param exif_image_width [Integer]
312
+ # @param exif_version [String]
313
+ # @param exposure_compensation [Float]
314
+ # @param exposure_mode [Integer]
315
+ # @param exposure_program [Integer]
316
+ # @param exposure_time [Float]
317
+ # @param flash [Integer]
318
+ # @param flashpix_version [String]
319
+ # @param f_number [Float]
320
+ # @param focal_length [Integer]
321
+ # @param focal_plane_resolution_unit [Integer]
322
+ # @param focal_plane_x_resolution [Float]
323
+ # @param focal_plane_y_resolution [Float]
324
+ # @param interop_offset [Integer]
325
+ # @param iso [Integer]
326
+ # @param metering_mode [Integer]
327
+ # @param scene_capture_type [Integer]
328
+ # @param shutter_speed_value [Float]
329
+ # @param sub_sec_time [String]
330
+ # @param white_balance [Integer]
331
+ end
332
+
333
+ # @see Imagekitio::Models::Metadata::Exif#gps
334
+ class Gps < Imagekitio::Internal::Type::BaseModel
335
+ # @!attribute gps_version_id
336
+ #
337
+ # @return [Array<Integer>, nil]
338
+ optional :gps_version_id, Imagekitio::Internal::Type::ArrayOf[Integer], api_name: :GPSVersionID
339
+
340
+ # @!method initialize(gps_version_id: nil)
341
+ # Object containing GPS information.
342
+ #
343
+ # @param gps_version_id [Array<Integer>]
344
+ end
345
+
346
+ # @see Imagekitio::Models::Metadata::Exif#image
347
+ class Image < Imagekitio::Internal::Type::BaseModel
348
+ # @!attribute exif_offset
349
+ #
350
+ # @return [Integer, nil]
351
+ optional :exif_offset, Integer, api_name: :ExifOffset
352
+
353
+ # @!attribute gps_info
354
+ #
355
+ # @return [Integer, nil]
356
+ optional :gps_info, Integer, api_name: :GPSInfo
357
+
358
+ # @!attribute make
359
+ #
360
+ # @return [String, nil]
361
+ optional :make, String, api_name: :Make
362
+
363
+ # @!attribute model
364
+ #
365
+ # @return [String, nil]
366
+ optional :model, String, api_name: :Model
367
+
368
+ # @!attribute modify_date
369
+ #
370
+ # @return [String, nil]
371
+ optional :modify_date, String, api_name: :ModifyDate
372
+
373
+ # @!attribute orientation
374
+ #
375
+ # @return [Integer, nil]
376
+ optional :orientation, Integer, api_name: :Orientation
377
+
378
+ # @!attribute resolution_unit
379
+ #
380
+ # @return [Integer, nil]
381
+ optional :resolution_unit, Integer, api_name: :ResolutionUnit
382
+
383
+ # @!attribute software
384
+ #
385
+ # @return [String, nil]
386
+ optional :software, String, api_name: :Software
387
+
388
+ # @!attribute x_resolution
389
+ #
390
+ # @return [Integer, nil]
391
+ optional :x_resolution, Integer, api_name: :XResolution
392
+
393
+ # @!attribute y_cb_cr_positioning
394
+ #
395
+ # @return [Integer, nil]
396
+ optional :y_cb_cr_positioning, Integer, api_name: :YCbCrPositioning
397
+
398
+ # @!attribute y_resolution
399
+ #
400
+ # @return [Integer, nil]
401
+ optional :y_resolution, Integer, api_name: :YResolution
402
+
403
+ # @!method initialize(exif_offset: nil, gps_info: nil, make: nil, model: nil, modify_date: nil, orientation: nil, resolution_unit: nil, software: nil, x_resolution: nil, y_cb_cr_positioning: nil, y_resolution: nil)
404
+ # Object containing EXIF image information.
405
+ #
406
+ # @param exif_offset [Integer]
407
+ # @param gps_info [Integer]
408
+ # @param make [String]
409
+ # @param model [String]
410
+ # @param modify_date [String]
411
+ # @param orientation [Integer]
412
+ # @param resolution_unit [Integer]
413
+ # @param software [String]
414
+ # @param x_resolution [Integer]
415
+ # @param y_cb_cr_positioning [Integer]
416
+ # @param y_resolution [Integer]
417
+ end
418
+
419
+ # @see Imagekitio::Models::Metadata::Exif#interoperability
420
+ class Interoperability < Imagekitio::Internal::Type::BaseModel
421
+ # @!attribute interop_index
422
+ #
423
+ # @return [String, nil]
424
+ optional :interop_index, String, api_name: :InteropIndex
425
+
426
+ # @!attribute interop_version
427
+ #
428
+ # @return [String, nil]
429
+ optional :interop_version, String, api_name: :InteropVersion
430
+
431
+ # @!method initialize(interop_index: nil, interop_version: nil)
432
+ # JSON object.
433
+ #
434
+ # @param interop_index [String]
435
+ # @param interop_version [String]
436
+ end
437
+
438
+ # @see Imagekitio::Models::Metadata::Exif#thumbnail
439
+ class Thumbnail < Imagekitio::Internal::Type::BaseModel
440
+ # @!attribute compression
441
+ #
442
+ # @return [Integer, nil]
443
+ optional :compression, Integer, api_name: :Compression
444
+
445
+ # @!attribute resolution_unit
446
+ #
447
+ # @return [Integer, nil]
448
+ optional :resolution_unit, Integer, api_name: :ResolutionUnit
449
+
450
+ # @!attribute thumbnail_length
451
+ #
452
+ # @return [Integer, nil]
453
+ optional :thumbnail_length, Integer, api_name: :ThumbnailLength
454
+
455
+ # @!attribute thumbnail_offset
456
+ #
457
+ # @return [Integer, nil]
458
+ optional :thumbnail_offset, Integer, api_name: :ThumbnailOffset
459
+
460
+ # @!attribute x_resolution
461
+ #
462
+ # @return [Integer, nil]
463
+ optional :x_resolution, Integer, api_name: :XResolution
464
+
465
+ # @!attribute y_resolution
466
+ #
467
+ # @return [Integer, nil]
468
+ optional :y_resolution, Integer, api_name: :YResolution
469
+
470
+ # @!method initialize(compression: nil, resolution_unit: nil, thumbnail_length: nil, thumbnail_offset: nil, x_resolution: nil, y_resolution: nil)
471
+ # Object containing Thumbnail information.
472
+ #
473
+ # @param compression [Integer]
474
+ # @param resolution_unit [Integer]
475
+ # @param thumbnail_length [Integer]
476
+ # @param thumbnail_offset [Integer]
477
+ # @param x_resolution [Integer]
478
+ # @param y_resolution [Integer]
479
+ end
480
+ end
481
+ end
482
+ end
483
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ # Specifies an overlay to be applied on the parent image or video. ImageKit
6
+ # supports overlays including images, text, videos, subtitles, and solid colors.
7
+ # See
8
+ # [Overlay using layers](https://imagekit.io/docs/transformations#overlay-using-layers).
9
+ module Overlay
10
+ extend Imagekitio::Internal::Type::Union
11
+
12
+ discriminator :type
13
+
14
+ variant :text, -> { Imagekitio::TextOverlay }
15
+
16
+ variant :image, -> { Imagekitio::ImageOverlay }
17
+
18
+ variant :video, -> { Imagekitio::VideoOverlay }
19
+
20
+ variant :subtitle, -> { Imagekitio::SubtitleOverlay }
21
+
22
+ variant :solidColor, -> { Imagekitio::SolidColorOverlay }
23
+
24
+ # @!method self.variants
25
+ # @return [Array(Imagekitio::Models::TextOverlay, Imagekitio::Models::ImageOverlay, Imagekitio::Models::VideoOverlay, Imagekitio::Models::SubtitleOverlay, Imagekitio::Models::SolidColorOverlay)]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class OverlayPosition < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute focus
7
+ # Specifies the position of the overlay relative to the parent image or video.
8
+ # Maps to `lfo` in the URL.
9
+ #
10
+ # @return [Symbol, Imagekitio::Models::OverlayPosition::Focus, nil]
11
+ optional :focus, enum: -> { Imagekitio::OverlayPosition::Focus }
12
+
13
+ # @!attribute x
14
+ # Specifies the x-coordinate of the top-left corner of the base asset where the
15
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
16
+ # expressions such as `bw_mul_0.4` or `bw_sub_cw`. Maps to `lx` in the URL. Learn
17
+ # about
18
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
19
+ #
20
+ # @return [Float, String, nil]
21
+ optional :x, union: -> { Imagekitio::OverlayPosition::X }
22
+
23
+ # @!attribute y_
24
+ # Specifies the y-coordinate of the top-left corner of the base asset where the
25
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
26
+ # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn
27
+ # about
28
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
29
+ #
30
+ # @return [Float, String, nil]
31
+ optional :y_, union: -> { Imagekitio::OverlayPosition::Y }, api_name: :y
32
+
33
+ # @!method initialize(focus: nil, x: nil, y_: nil)
34
+ # Some parameter documentations has been truncated, see
35
+ # {Imagekitio::Models::OverlayPosition} for more details.
36
+ #
37
+ # @param focus [Symbol, Imagekitio::Models::OverlayPosition::Focus] Specifies the position of the overlay relative to the parent image or video.
38
+ #
39
+ # @param x [Float, String] Specifies the x-coordinate of the top-left corner of the base asset where the ov
40
+ #
41
+ # @param y_ [Float, String] Specifies the y-coordinate of the top-left corner of the base asset where the ov
42
+
43
+ # Specifies the position of the overlay relative to the parent image or video.
44
+ # Maps to `lfo` in the URL.
45
+ #
46
+ # @see Imagekitio::Models::OverlayPosition#focus
47
+ module Focus
48
+ extend Imagekitio::Internal::Type::Enum
49
+
50
+ CENTER = :center
51
+ TOP = :top
52
+ LEFT = :left
53
+ BOTTOM = :bottom
54
+ RIGHT = :right
55
+ TOP_LEFT = :top_left
56
+ TOP_RIGHT = :top_right
57
+ BOTTOM_LEFT = :bottom_left
58
+ BOTTOM_RIGHT = :bottom_right
59
+
60
+ # @!method self.values
61
+ # @return [Array<Symbol>]
62
+ end
63
+
64
+ # Specifies the x-coordinate of the top-left corner of the base asset where the
65
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
66
+ # expressions such as `bw_mul_0.4` or `bw_sub_cw`. Maps to `lx` in the URL. Learn
67
+ # about
68
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
69
+ #
70
+ # @see Imagekitio::Models::OverlayPosition#x
71
+ module X
72
+ extend Imagekitio::Internal::Type::Union
73
+
74
+ variant Float
75
+
76
+ variant String
77
+
78
+ # @!method self.variants
79
+ # @return [Array(Float, String)]
80
+ end
81
+
82
+ # Specifies the y-coordinate of the top-left corner of the base asset where the
83
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
84
+ # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn
85
+ # about
86
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
87
+ #
88
+ # @see Imagekitio::Models::OverlayPosition#y_
89
+ module Y
90
+ extend Imagekitio::Internal::Type::Union
91
+
92
+ variant Float
93
+
94
+ variant String
95
+
96
+ # @!method self.variants
97
+ # @return [Array(Float, String)]
98
+ end
99
+ end
100
+ end
101
+ end