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,28 @@
1
+ # typed: strong
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
+ Variants =
13
+ T.type_alias do
14
+ T.any(
15
+ Imagekitio::TextOverlay,
16
+ Imagekitio::ImageOverlay,
17
+ Imagekitio::VideoOverlay,
18
+ Imagekitio::SubtitleOverlay,
19
+ Imagekitio::SolidColorOverlay
20
+ )
21
+ end
22
+
23
+ sig { override.returns(T::Array[Imagekitio::Overlay::Variants]) }
24
+ def self.variants
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,148 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class OverlayPosition < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::OverlayPosition, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Specifies the position of the overlay relative to the parent image or video.
12
+ # Maps to `lfo` in the URL.
13
+ sig { returns(T.nilable(Imagekitio::OverlayPosition::Focus::OrSymbol)) }
14
+ attr_reader :focus
15
+
16
+ sig { params(focus: Imagekitio::OverlayPosition::Focus::OrSymbol).void }
17
+ attr_writer :focus
18
+
19
+ # Specifies the x-coordinate of the top-left corner of the base asset where the
20
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
21
+ # expressions such as `bw_mul_0.4` or `bw_sub_cw`. Maps to `lx` in the URL. Learn
22
+ # about
23
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
24
+ sig { returns(T.nilable(Imagekitio::OverlayPosition::X::Variants)) }
25
+ attr_reader :x
26
+
27
+ sig { params(x: Imagekitio::OverlayPosition::X::Variants).void }
28
+ attr_writer :x
29
+
30
+ # Specifies the y-coordinate of the top-left corner of the base asset where the
31
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
32
+ # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn
33
+ # about
34
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
35
+ sig { returns(T.nilable(Imagekitio::OverlayPosition::Y::Variants)) }
36
+ attr_reader :y_
37
+
38
+ sig { params(y_: Imagekitio::OverlayPosition::Y::Variants).void }
39
+ attr_writer :y_
40
+
41
+ sig do
42
+ params(
43
+ focus: Imagekitio::OverlayPosition::Focus::OrSymbol,
44
+ x: Imagekitio::OverlayPosition::X::Variants,
45
+ y_: Imagekitio::OverlayPosition::Y::Variants
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Specifies the position of the overlay relative to the parent image or video.
50
+ # Maps to `lfo` in the URL.
51
+ focus: nil,
52
+ # Specifies the x-coordinate of the top-left corner of the base asset where the
53
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
54
+ # expressions such as `bw_mul_0.4` or `bw_sub_cw`. Maps to `lx` in the URL. Learn
55
+ # about
56
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
57
+ x: nil,
58
+ # Specifies the y-coordinate of the top-left corner of the base asset where the
59
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
60
+ # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn
61
+ # about
62
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
63
+ y_: nil
64
+ )
65
+ end
66
+
67
+ sig do
68
+ override.returns(
69
+ {
70
+ focus: Imagekitio::OverlayPosition::Focus::OrSymbol,
71
+ x: Imagekitio::OverlayPosition::X::Variants,
72
+ y_: Imagekitio::OverlayPosition::Y::Variants
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+
79
+ # Specifies the position of the overlay relative to the parent image or video.
80
+ # Maps to `lfo` in the URL.
81
+ module Focus
82
+ extend Imagekitio::Internal::Type::Enum
83
+
84
+ TaggedSymbol =
85
+ T.type_alias { T.all(Symbol, Imagekitio::OverlayPosition::Focus) }
86
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
87
+
88
+ CENTER =
89
+ T.let(:center, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
90
+ TOP = T.let(:top, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
91
+ LEFT = T.let(:left, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
92
+ BOTTOM =
93
+ T.let(:bottom, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
94
+ RIGHT = T.let(:right, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
95
+ TOP_LEFT =
96
+ T.let(:top_left, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
97
+ TOP_RIGHT =
98
+ T.let(:top_right, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
99
+ BOTTOM_LEFT =
100
+ T.let(:bottom_left, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
101
+ BOTTOM_RIGHT =
102
+ T.let(:bottom_right, Imagekitio::OverlayPosition::Focus::TaggedSymbol)
103
+
104
+ sig do
105
+ override.returns(
106
+ T::Array[Imagekitio::OverlayPosition::Focus::TaggedSymbol]
107
+ )
108
+ end
109
+ def self.values
110
+ end
111
+ end
112
+
113
+ # Specifies the x-coordinate of the top-left corner of the base asset where the
114
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
115
+ # expressions such as `bw_mul_0.4` or `bw_sub_cw`. Maps to `lx` in the URL. Learn
116
+ # about
117
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
118
+ module X
119
+ extend Imagekitio::Internal::Type::Union
120
+
121
+ Variants = T.type_alias { T.any(Float, String) }
122
+
123
+ sig do
124
+ override.returns(T::Array[Imagekitio::OverlayPosition::X::Variants])
125
+ end
126
+ def self.variants
127
+ end
128
+ end
129
+
130
+ # Specifies the y-coordinate of the top-left corner of the base asset where the
131
+ # overlay's top-left corner will be positioned. It also accepts arithmetic
132
+ # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn
133
+ # about
134
+ # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
135
+ module Y
136
+ extend Imagekitio::Internal::Type::Union
137
+
138
+ Variants = T.type_alias { T.any(Float, String) }
139
+
140
+ sig do
141
+ override.returns(T::Array[Imagekitio::OverlayPosition::Y::Variants])
142
+ end
143
+ def self.variants
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class OverlayTiming < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::OverlayTiming, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Specifies the duration (in seconds) during which the overlay should appear on
12
+ # the base video. Accepts a positive number up to two decimal places (e.g., `20`
13
+ # or `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
14
+ # Applies only if the base asset is a video. Maps to `ldu` in the URL.
15
+ sig { returns(T.nilable(Imagekitio::OverlayTiming::Duration::Variants)) }
16
+ attr_reader :duration
17
+
18
+ sig do
19
+ params(duration: Imagekitio::OverlayTiming::Duration::Variants).void
20
+ end
21
+ attr_writer :duration
22
+
23
+ # Specifies the end time (in seconds) for when the overlay should disappear from
24
+ # the base video. If both end and duration are provided, duration is ignored.
25
+ # Accepts a positive number up to two decimal places (e.g., `20` or `20.50`) and
26
+ # arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`. Applies only if
27
+ # the base asset is a video. Maps to `leo` in the URL.
28
+ sig { returns(T.nilable(Imagekitio::OverlayTiming::End::Variants)) }
29
+ attr_reader :end_
30
+
31
+ sig { params(end_: Imagekitio::OverlayTiming::End::Variants).void }
32
+ attr_writer :end_
33
+
34
+ # Specifies the start time (in seconds) for when the overlay should appear on the
35
+ # base video. Accepts a positive number up to two decimal places (e.g., `20` or
36
+ # `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
37
+ # Applies only if the base asset is a video. Maps to `lso` in the URL.
38
+ sig { returns(T.nilable(Imagekitio::OverlayTiming::Start::Variants)) }
39
+ attr_reader :start
40
+
41
+ sig { params(start: Imagekitio::OverlayTiming::Start::Variants).void }
42
+ attr_writer :start
43
+
44
+ sig do
45
+ params(
46
+ duration: Imagekitio::OverlayTiming::Duration::Variants,
47
+ end_: Imagekitio::OverlayTiming::End::Variants,
48
+ start: Imagekitio::OverlayTiming::Start::Variants
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # Specifies the duration (in seconds) during which the overlay should appear on
53
+ # the base video. Accepts a positive number up to two decimal places (e.g., `20`
54
+ # or `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
55
+ # Applies only if the base asset is a video. Maps to `ldu` in the URL.
56
+ duration: nil,
57
+ # Specifies the end time (in seconds) for when the overlay should disappear from
58
+ # the base video. If both end and duration are provided, duration is ignored.
59
+ # Accepts a positive number up to two decimal places (e.g., `20` or `20.50`) and
60
+ # arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`. Applies only if
61
+ # the base asset is a video. Maps to `leo` in the URL.
62
+ end_: nil,
63
+ # Specifies the start time (in seconds) for when the overlay should appear on the
64
+ # base video. Accepts a positive number up to two decimal places (e.g., `20` or
65
+ # `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
66
+ # Applies only if the base asset is a video. Maps to `lso` in the URL.
67
+ start: nil
68
+ )
69
+ end
70
+
71
+ sig do
72
+ override.returns(
73
+ {
74
+ duration: Imagekitio::OverlayTiming::Duration::Variants,
75
+ end_: Imagekitio::OverlayTiming::End::Variants,
76
+ start: Imagekitio::OverlayTiming::Start::Variants
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ # Specifies the duration (in seconds) during which the overlay should appear on
84
+ # the base video. Accepts a positive number up to two decimal places (e.g., `20`
85
+ # or `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
86
+ # Applies only if the base asset is a video. Maps to `ldu` in the URL.
87
+ module Duration
88
+ extend Imagekitio::Internal::Type::Union
89
+
90
+ Variants = T.type_alias { T.any(Float, String) }
91
+
92
+ sig do
93
+ override.returns(
94
+ T::Array[Imagekitio::OverlayTiming::Duration::Variants]
95
+ )
96
+ end
97
+ def self.variants
98
+ end
99
+ end
100
+
101
+ # Specifies the end time (in seconds) for when the overlay should disappear from
102
+ # the base video. If both end and duration are provided, duration is ignored.
103
+ # Accepts a positive number up to two decimal places (e.g., `20` or `20.50`) and
104
+ # arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`. Applies only if
105
+ # the base asset is a video. Maps to `leo` in the URL.
106
+ module End
107
+ extend Imagekitio::Internal::Type::Union
108
+
109
+ Variants = T.type_alias { T.any(Float, String) }
110
+
111
+ sig do
112
+ override.returns(T::Array[Imagekitio::OverlayTiming::End::Variants])
113
+ end
114
+ def self.variants
115
+ end
116
+ end
117
+
118
+ # Specifies the start time (in seconds) for when the overlay should appear on the
119
+ # base video. Accepts a positive number up to two decimal places (e.g., `20` or
120
+ # `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
121
+ # Applies only if the base asset is a video. Maps to `lso` in the URL.
122
+ module Start
123
+ extend Imagekitio::Internal::Type::Union
124
+
125
+ Variants = T.type_alias { T.any(Float, String) }
126
+
127
+ sig do
128
+ override.returns(T::Array[Imagekitio::OverlayTiming::Start::Variants])
129
+ end
130
+ def self.variants
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class ResponsiveImageAttributes < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Imagekitio::ResponsiveImageAttributes,
10
+ Imagekitio::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # URL for the _largest_ candidate (assigned to plain `src`).
15
+ sig { returns(String) }
16
+ attr_accessor :src
17
+
18
+ # `sizes` returned (or synthesised as `100vw`). The value for the HTML `sizes`
19
+ # attribute.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :sizes
22
+
23
+ sig { params(sizes: String).void }
24
+ attr_writer :sizes
25
+
26
+ # Candidate set with `w` or `x` descriptors. Multiple image URLs separated by
27
+ # commas, each with a descriptor.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :src_set
30
+
31
+ sig { params(src_set: String).void }
32
+ attr_writer :src_set
33
+
34
+ # Width as a number (if `width` was provided in the input options).
35
+ sig { returns(T.nilable(Float)) }
36
+ attr_reader :width
37
+
38
+ sig { params(width: Float).void }
39
+ attr_writer :width
40
+
41
+ # Resulting set of attributes suitable for an HTML `<img>` element. Useful for
42
+ # enabling responsive image loading with `srcSet` and `sizes`.
43
+ sig do
44
+ params(
45
+ src: String,
46
+ sizes: String,
47
+ src_set: String,
48
+ width: Float
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # URL for the _largest_ candidate (assigned to plain `src`).
53
+ src:,
54
+ # `sizes` returned (or synthesised as `100vw`). The value for the HTML `sizes`
55
+ # attribute.
56
+ sizes: nil,
57
+ # Candidate set with `w` or `x` descriptors. Multiple image URLs separated by
58
+ # commas, each with a descriptor.
59
+ src_set: nil,
60
+ # Width as a number (if `width` was provided in the input options).
61
+ width: nil
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ { src: String, sizes: String, src_set: String, width: Float }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SolidColorOverlay < Imagekitio::Models::BaseOverlay
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::SolidColorOverlay, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Specifies the color of the block using an RGB hex code (e.g., `FF0000`), an RGBA
12
+ # code (e.g., `FFAABB50`), or a color name (e.g., `red`). If an 8-character value
13
+ # is provided, the last two characters represent the opacity level (from `00` for
14
+ # 0.00 to `99` for 0.99).
15
+ sig { returns(String) }
16
+ attr_accessor :color
17
+
18
+ sig { returns(Symbol) }
19
+ attr_accessor :type
20
+
21
+ # Control width and height of the solid color overlay. Supported transformations
22
+ # depend on the base/parent asset. See overlays on
23
+ # [Images](https://imagekit.io/docs/add-overlays-on-images#apply-transformation-on-solid-color-overlay)
24
+ # and
25
+ # [Videos](https://imagekit.io/docs/add-overlays-on-videos#apply-transformations-on-solid-color-block-overlay).
26
+ sig do
27
+ returns(
28
+ T.nilable(T::Array[Imagekitio::SolidColorOverlayTransformation])
29
+ )
30
+ end
31
+ attr_reader :transformation
32
+
33
+ sig do
34
+ params(
35
+ transformation:
36
+ T::Array[Imagekitio::SolidColorOverlayTransformation::OrHash]
37
+ ).void
38
+ end
39
+ attr_writer :transformation
40
+
41
+ sig do
42
+ params(
43
+ color: String,
44
+ transformation:
45
+ T::Array[Imagekitio::SolidColorOverlayTransformation::OrHash],
46
+ type: Symbol
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # Specifies the color of the block using an RGB hex code (e.g., `FF0000`), an RGBA
51
+ # code (e.g., `FFAABB50`), or a color name (e.g., `red`). If an 8-character value
52
+ # is provided, the last two characters represent the opacity level (from `00` for
53
+ # 0.00 to `99` for 0.99).
54
+ color:,
55
+ # Control width and height of the solid color overlay. Supported transformations
56
+ # depend on the base/parent asset. See overlays on
57
+ # [Images](https://imagekit.io/docs/add-overlays-on-images#apply-transformation-on-solid-color-overlay)
58
+ # and
59
+ # [Videos](https://imagekit.io/docs/add-overlays-on-videos#apply-transformations-on-solid-color-block-overlay).
60
+ transformation: nil,
61
+ type: :solidColor
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ color: String,
69
+ type: Symbol,
70
+ transformation:
71
+ T::Array[Imagekitio::SolidColorOverlayTransformation]
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,218 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SolidColorOverlayTransformation < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Imagekitio::SolidColorOverlayTransformation,
10
+ Imagekitio::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Specifies the transparency level of the solid color overlay. Accepts integers
15
+ # from `1` to `9`.
16
+ sig { returns(T.nilable(Float)) }
17
+ attr_reader :alpha
18
+
19
+ sig { params(alpha: Float).void }
20
+ attr_writer :alpha
21
+
22
+ # Specifies the background color of the solid color overlay. Accepts an RGB hex
23
+ # code (e.g., `FF0000`), an RGBA code (e.g., `FFAABB50`), or a color name.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :background
26
+
27
+ sig { params(background: String).void }
28
+ attr_writer :background
29
+
30
+ # Creates a linear gradient with two colors. Pass `true` for a default gradient,
31
+ # or provide a string for a custom gradient. Only works if the base asset is an
32
+ # image. See
33
+ # [gradient](https://imagekit.io/docs/effects-and-enhancements#gradient---e-gradient).
34
+ sig { returns(T.nilable(T.any(T::Boolean, String))) }
35
+ attr_reader :gradient
36
+
37
+ sig { params(gradient: T.any(T::Boolean, String)).void }
38
+ attr_writer :gradient
39
+
40
+ # Controls the height of the solid color overlay. Accepts a numeric value or an
41
+ # arithmetic expression. Learn about
42
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ Imagekitio::SolidColorOverlayTransformation::Height::Variants
47
+ )
48
+ )
49
+ end
50
+ attr_reader :height
51
+
52
+ sig do
53
+ params(
54
+ height: Imagekitio::SolidColorOverlayTransformation::Height::Variants
55
+ ).void
56
+ end
57
+ attr_writer :height
58
+
59
+ # Specifies the corner radius of the solid color overlay. Set to `max` for
60
+ # circular or oval shape. See
61
+ # [radius](https://imagekit.io/docs/effects-and-enhancements#radius---r).
62
+ sig { returns(T.nilable(T.any(Float, Symbol))) }
63
+ attr_reader :radius
64
+
65
+ sig { params(radius: T.any(Float, Symbol)).void }
66
+ attr_writer :radius
67
+
68
+ # Controls the width of the solid color overlay. Accepts a numeric value or an
69
+ # arithmetic expression (e.g., `bw_mul_0.2` or `bh_div_2`). Learn about
70
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
71
+ sig do
72
+ returns(
73
+ T.nilable(
74
+ Imagekitio::SolidColorOverlayTransformation::Width::Variants
75
+ )
76
+ )
77
+ end
78
+ attr_reader :width
79
+
80
+ sig do
81
+ params(
82
+ width: Imagekitio::SolidColorOverlayTransformation::Width::Variants
83
+ ).void
84
+ end
85
+ attr_writer :width
86
+
87
+ sig do
88
+ params(
89
+ alpha: Float,
90
+ background: String,
91
+ gradient: T.any(T::Boolean, String),
92
+ height: Imagekitio::SolidColorOverlayTransformation::Height::Variants,
93
+ radius: T.any(Float, Symbol),
94
+ width: Imagekitio::SolidColorOverlayTransformation::Width::Variants
95
+ ).returns(T.attached_class)
96
+ end
97
+ def self.new(
98
+ # Specifies the transparency level of the solid color overlay. Accepts integers
99
+ # from `1` to `9`.
100
+ alpha: nil,
101
+ # Specifies the background color of the solid color overlay. Accepts an RGB hex
102
+ # code (e.g., `FF0000`), an RGBA code (e.g., `FFAABB50`), or a color name.
103
+ background: nil,
104
+ # Creates a linear gradient with two colors. Pass `true` for a default gradient,
105
+ # or provide a string for a custom gradient. Only works if the base asset is an
106
+ # image. See
107
+ # [gradient](https://imagekit.io/docs/effects-and-enhancements#gradient---e-gradient).
108
+ gradient: nil,
109
+ # Controls the height of the solid color overlay. Accepts a numeric value or an
110
+ # arithmetic expression. Learn about
111
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
112
+ height: nil,
113
+ # Specifies the corner radius of the solid color overlay. Set to `max` for
114
+ # circular or oval shape. See
115
+ # [radius](https://imagekit.io/docs/effects-and-enhancements#radius---r).
116
+ radius: nil,
117
+ # Controls the width of the solid color overlay. Accepts a numeric value or an
118
+ # arithmetic expression (e.g., `bw_mul_0.2` or `bh_div_2`). Learn about
119
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
120
+ width: nil
121
+ )
122
+ end
123
+
124
+ sig do
125
+ override.returns(
126
+ {
127
+ alpha: Float,
128
+ background: String,
129
+ gradient: T.any(T::Boolean, String),
130
+ height:
131
+ Imagekitio::SolidColorOverlayTransformation::Height::Variants,
132
+ radius: T.any(Float, Symbol),
133
+ width: Imagekitio::SolidColorOverlayTransformation::Width::Variants
134
+ }
135
+ )
136
+ end
137
+ def to_hash
138
+ end
139
+
140
+ # Creates a linear gradient with two colors. Pass `true` for a default gradient,
141
+ # or provide a string for a custom gradient. Only works if the base asset is an
142
+ # image. See
143
+ # [gradient](https://imagekit.io/docs/effects-and-enhancements#gradient---e-gradient).
144
+ module Gradient
145
+ extend Imagekitio::Internal::Type::Union
146
+
147
+ Variants = T.type_alias { T.any(T::Boolean, String) }
148
+
149
+ sig do
150
+ override.returns(
151
+ T::Array[
152
+ Imagekitio::SolidColorOverlayTransformation::Gradient::Variants
153
+ ]
154
+ )
155
+ end
156
+ def self.variants
157
+ end
158
+ end
159
+
160
+ # Controls the height of the solid color overlay. Accepts a numeric value or an
161
+ # arithmetic expression. Learn about
162
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
163
+ module Height
164
+ extend Imagekitio::Internal::Type::Union
165
+
166
+ Variants = T.type_alias { T.any(Float, String) }
167
+
168
+ sig do
169
+ override.returns(
170
+ T::Array[
171
+ Imagekitio::SolidColorOverlayTransformation::Height::Variants
172
+ ]
173
+ )
174
+ end
175
+ def self.variants
176
+ end
177
+ end
178
+
179
+ # Specifies the corner radius of the solid color overlay. Set to `max` for
180
+ # circular or oval shape. See
181
+ # [radius](https://imagekit.io/docs/effects-and-enhancements#radius---r).
182
+ module Radius
183
+ extend Imagekitio::Internal::Type::Union
184
+
185
+ Variants = T.type_alias { T.any(Float, Symbol) }
186
+
187
+ sig do
188
+ override.returns(
189
+ T::Array[
190
+ Imagekitio::SolidColorOverlayTransformation::Radius::Variants
191
+ ]
192
+ )
193
+ end
194
+ def self.variants
195
+ end
196
+ end
197
+
198
+ # Controls the width of the solid color overlay. Accepts a numeric value or an
199
+ # arithmetic expression (e.g., `bw_mul_0.2` or `bh_div_2`). Learn about
200
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
201
+ module Width
202
+ extend Imagekitio::Internal::Type::Union
203
+
204
+ Variants = T.type_alias { T.any(Float, String) }
205
+
206
+ sig do
207
+ override.returns(
208
+ T::Array[
209
+ Imagekitio::SolidColorOverlayTransformation::Width::Variants
210
+ ]
211
+ )
212
+ end
213
+ def self.variants
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end