imagekitio 3.1.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 +534 -705
  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,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class OverlayTiming < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute duration
7
+ # Specifies the duration (in seconds) during which the overlay should appear on
8
+ # the base video. Accepts a positive number up to two decimal places (e.g., `20`
9
+ # or `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
10
+ # Applies only if the base asset is a video. Maps to `ldu` in the URL.
11
+ #
12
+ # @return [Float, String, nil]
13
+ optional :duration, union: -> { Imagekitio::OverlayTiming::Duration }
14
+
15
+ # @!attribute end_
16
+ # Specifies the end time (in seconds) for when the overlay should disappear from
17
+ # the base video. If both end and duration are provided, duration is ignored.
18
+ # Accepts a positive number up to two decimal places (e.g., `20` or `20.50`) and
19
+ # arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`. Applies only if
20
+ # the base asset is a video. Maps to `leo` in the URL.
21
+ #
22
+ # @return [Float, String, nil]
23
+ optional :end_, union: -> { Imagekitio::OverlayTiming::End }, api_name: :end
24
+
25
+ # @!attribute start
26
+ # Specifies the start time (in seconds) for when the overlay should appear on the
27
+ # base video. Accepts a positive number up to two decimal places (e.g., `20` or
28
+ # `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
29
+ # Applies only if the base asset is a video. Maps to `lso` in the URL.
30
+ #
31
+ # @return [Float, String, nil]
32
+ optional :start, union: -> { Imagekitio::OverlayTiming::Start }
33
+
34
+ # @!method initialize(duration: nil, end_: nil, start: nil)
35
+ # Some parameter documentations has been truncated, see
36
+ # {Imagekitio::Models::OverlayTiming} for more details.
37
+ #
38
+ # @param duration [Float, String] Specifies the duration (in seconds) during which the overlay should appear on th
39
+ #
40
+ # @param end_ [Float, String] Specifies the end time (in seconds) for when the overlay should disappear from t
41
+ #
42
+ # @param start [Float, String] Specifies the start time (in seconds) for when the overlay should appear on the
43
+
44
+ # Specifies the duration (in seconds) during which the overlay should appear on
45
+ # the base video. Accepts a positive number up to two decimal places (e.g., `20`
46
+ # or `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
47
+ # Applies only if the base asset is a video. Maps to `ldu` in the URL.
48
+ #
49
+ # @see Imagekitio::Models::OverlayTiming#duration
50
+ module Duration
51
+ extend Imagekitio::Internal::Type::Union
52
+
53
+ variant Float
54
+
55
+ variant String
56
+
57
+ # @!method self.variants
58
+ # @return [Array(Float, String)]
59
+ end
60
+
61
+ # Specifies the end time (in seconds) for when the overlay should disappear from
62
+ # the base video. If both end and duration are provided, duration is ignored.
63
+ # Accepts a positive number up to two decimal places (e.g., `20` or `20.50`) and
64
+ # arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`. Applies only if
65
+ # the base asset is a video. Maps to `leo` in the URL.
66
+ #
67
+ # @see Imagekitio::Models::OverlayTiming#end_
68
+ module End
69
+ extend Imagekitio::Internal::Type::Union
70
+
71
+ variant Float
72
+
73
+ variant String
74
+
75
+ # @!method self.variants
76
+ # @return [Array(Float, String)]
77
+ end
78
+
79
+ # Specifies the start time (in seconds) for when the overlay should appear on the
80
+ # base video. Accepts a positive number up to two decimal places (e.g., `20` or
81
+ # `20.50`) and arithmetic expressions such as `bdu_mul_0.4` or `bdu_sub_idu`.
82
+ # Applies only if the base asset is a video. Maps to `lso` in the URL.
83
+ #
84
+ # @see Imagekitio::Models::OverlayTiming#start
85
+ module Start
86
+ extend Imagekitio::Internal::Type::Union
87
+
88
+ variant Float
89
+
90
+ variant String
91
+
92
+ # @!method self.variants
93
+ # @return [Array(Float, String)]
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class ResponsiveImageAttributes < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute src
7
+ # URL for the _largest_ candidate (assigned to plain `src`).
8
+ #
9
+ # @return [String]
10
+ required :src, String
11
+
12
+ # @!attribute sizes
13
+ # `sizes` returned (or synthesised as `100vw`). The value for the HTML `sizes`
14
+ # attribute.
15
+ #
16
+ # @return [String, nil]
17
+ optional :sizes, String
18
+
19
+ # @!attribute src_set
20
+ # Candidate set with `w` or `x` descriptors. Multiple image URLs separated by
21
+ # commas, each with a descriptor.
22
+ #
23
+ # @return [String, nil]
24
+ optional :src_set, String, api_name: :srcSet
25
+
26
+ # @!attribute width
27
+ # Width as a number (if `width` was provided in the input options).
28
+ #
29
+ # @return [Float, nil]
30
+ optional :width, Float
31
+
32
+ # @!method initialize(src:, sizes: nil, src_set: nil, width: nil)
33
+ # Some parameter documentations has been truncated, see
34
+ # {Imagekitio::Models::ResponsiveImageAttributes} for more details.
35
+ #
36
+ # Resulting set of attributes suitable for an HTML `<img>` element. Useful for
37
+ # enabling responsive image loading with `srcSet` and `sizes`.
38
+ #
39
+ # @param src [String] URL for the _largest_ candidate (assigned to plain `src`).
40
+ #
41
+ # @param sizes [String] `sizes` returned (or synthesised as `100vw`).
42
+ #
43
+ # @param src_set [String] Candidate set with `w` or `x` descriptors.
44
+ #
45
+ # @param width [Float] Width as a number (if `width` was provided in the input options).
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SolidColorOverlay < Imagekitio::Models::BaseOverlay
6
+ # @!attribute color
7
+ # Specifies the color of the block using an RGB hex code (e.g., `FF0000`), an RGBA
8
+ # code (e.g., `FFAABB50`), or a color name (e.g., `red`). If an 8-character value
9
+ # is provided, the last two characters represent the opacity level (from `00` for
10
+ # 0.00 to `99` for 0.99).
11
+ #
12
+ # @return [String]
13
+ required :color, String
14
+
15
+ # @!attribute type
16
+ #
17
+ # @return [Symbol, :solidColor]
18
+ required :type, const: :solidColor
19
+
20
+ # @!attribute transformation
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
+ #
27
+ # @return [Array<Imagekitio::Models::SolidColorOverlayTransformation>, nil]
28
+ optional :transformation,
29
+ -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::SolidColorOverlayTransformation] }
30
+
31
+ # @!method initialize(color:, transformation: nil, type: :solidColor)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Imagekitio::Models::SolidColorOverlay} for more details.
34
+ #
35
+ # @param color [String] Specifies the color of the block using an RGB hex code (e.g., `FF0000`), an RGBA
36
+ #
37
+ # @param transformation [Array<Imagekitio::Models::SolidColorOverlayTransformation>] Control width and height of the solid color overlay. Supported transformations d
38
+ #
39
+ # @param type [Symbol, :solidColor]
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SolidColorOverlayTransformation < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute alpha
7
+ # Specifies the transparency level of the solid color overlay. Accepts integers
8
+ # from `1` to `9`.
9
+ #
10
+ # @return [Float, nil]
11
+ optional :alpha, Float
12
+
13
+ # @!attribute background
14
+ # Specifies the background color of the solid color overlay. Accepts an RGB hex
15
+ # code (e.g., `FF0000`), an RGBA code (e.g., `FFAABB50`), or a color name.
16
+ #
17
+ # @return [String, nil]
18
+ optional :background, String
19
+
20
+ # @!attribute gradient
21
+ # Creates a linear gradient with two colors. Pass `true` for a default gradient,
22
+ # or provide a string for a custom gradient. Only works if the base asset is an
23
+ # image. See
24
+ # [gradient](https://imagekit.io/docs/effects-and-enhancements#gradient---e-gradient).
25
+ #
26
+ # @return [Boolean, true, String, nil]
27
+ optional :gradient, union: -> { Imagekitio::SolidColorOverlayTransformation::Gradient }
28
+
29
+ # @!attribute height
30
+ # Controls the height of the solid color overlay. Accepts a numeric value or an
31
+ # arithmetic expression. Learn about
32
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
33
+ #
34
+ # @return [Float, String, nil]
35
+ optional :height, union: -> { Imagekitio::SolidColorOverlayTransformation::Height }
36
+
37
+ # @!attribute radius
38
+ # Specifies the corner radius of the solid color overlay. Set to `max` for
39
+ # circular or oval shape. See
40
+ # [radius](https://imagekit.io/docs/effects-and-enhancements#radius---r).
41
+ #
42
+ # @return [Float, Symbol, :max, nil]
43
+ optional :radius, union: -> { Imagekitio::SolidColorOverlayTransformation::Radius }
44
+
45
+ # @!attribute width
46
+ # Controls the width of the solid color overlay. Accepts a numeric value or an
47
+ # arithmetic expression (e.g., `bw_mul_0.2` or `bh_div_2`). Learn about
48
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
49
+ #
50
+ # @return [Float, String, nil]
51
+ optional :width, union: -> { Imagekitio::SolidColorOverlayTransformation::Width }
52
+
53
+ # @!method initialize(alpha: nil, background: nil, gradient: nil, height: nil, radius: nil, width: nil)
54
+ # Some parameter documentations has been truncated, see
55
+ # {Imagekitio::Models::SolidColorOverlayTransformation} for more details.
56
+ #
57
+ # @param alpha [Float] Specifies the transparency level of the solid color overlay. Accepts integers fr
58
+ #
59
+ # @param background [String] Specifies the background color of the solid color overlay. Accepts an RGB hex co
60
+ #
61
+ # @param gradient [Boolean, true, String] Creates a linear gradient with two colors. Pass `true` for a default gradient, o
62
+ #
63
+ # @param height [Float, String] Controls the height of the solid color overlay. Accepts a numeric value or an ar
64
+ #
65
+ # @param radius [Float, Symbol, :max] Specifies the corner radius of the solid color overlay. Set to `max` for circula
66
+ #
67
+ # @param width [Float, String] Controls the width of the solid color overlay. Accepts a numeric value or an ari
68
+
69
+ # Creates a linear gradient with two colors. Pass `true` for a default gradient,
70
+ # or provide a string for a custom gradient. Only works if the base asset is an
71
+ # image. See
72
+ # [gradient](https://imagekit.io/docs/effects-and-enhancements#gradient---e-gradient).
73
+ #
74
+ # @see Imagekitio::Models::SolidColorOverlayTransformation#gradient
75
+ module Gradient
76
+ extend Imagekitio::Internal::Type::Union
77
+
78
+ variant const: true
79
+
80
+ variant String
81
+
82
+ # @!method self.variants
83
+ # @return [Array(Boolean, true, String)]
84
+ end
85
+
86
+ # Controls the height of the solid color overlay. Accepts a numeric value or an
87
+ # arithmetic expression. Learn about
88
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
89
+ #
90
+ # @see Imagekitio::Models::SolidColorOverlayTransformation#height
91
+ module Height
92
+ extend Imagekitio::Internal::Type::Union
93
+
94
+ variant Float
95
+
96
+ variant String
97
+
98
+ # @!method self.variants
99
+ # @return [Array(Float, String)]
100
+ end
101
+
102
+ # Specifies the corner radius of the solid color overlay. Set to `max` for
103
+ # circular or oval shape. See
104
+ # [radius](https://imagekit.io/docs/effects-and-enhancements#radius---r).
105
+ #
106
+ # @see Imagekitio::Models::SolidColorOverlayTransformation#radius
107
+ module Radius
108
+ extend Imagekitio::Internal::Type::Union
109
+
110
+ variant Float
111
+
112
+ variant const: :max
113
+
114
+ # @!method self.variants
115
+ # @return [Array(Float, Symbol, :max)]
116
+ end
117
+
118
+ # Controls the width of the solid color overlay. Accepts a numeric value or an
119
+ # arithmetic expression (e.g., `bw_mul_0.2` or `bh_div_2`). Learn about
120
+ # [arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations).
121
+ #
122
+ # @see Imagekitio::Models::SolidColorOverlayTransformation#width
123
+ module Width
124
+ extend Imagekitio::Internal::Type::Union
125
+
126
+ variant Float
127
+
128
+ variant String
129
+
130
+ # @!method self.variants
131
+ # @return [Array(Float, String)]
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SrcOptions < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute src
7
+ # Accepts a relative or absolute path of the resource. If a relative path is
8
+ # provided, it is appended to the `urlEndpoint`. If an absolute path is provided,
9
+ # `urlEndpoint` is ignored.
10
+ #
11
+ # @return [String]
12
+ required :src, String
13
+
14
+ # @!attribute url_endpoint
15
+ # Get your urlEndpoint from the
16
+ # [ImageKit dashboard](https://imagekit.io/dashboard/url-endpoints).
17
+ #
18
+ # @return [String]
19
+ required :url_endpoint, String, api_name: :urlEndpoint
20
+
21
+ # @!attribute expires_in
22
+ # When you want the signed URL to expire, specified in seconds. If `expiresIn` is
23
+ # anything above 0, the URL will always be signed even if `signed` is set to
24
+ # false. If not specified and `signed` is `true`, the signed URL will not expire
25
+ # (valid indefinitely).
26
+ #
27
+ # Example: Setting `expiresIn: 3600` will make the URL expire 1 hour from
28
+ # generation time. After the expiry time, the signed URL will no longer be valid
29
+ # and ImageKit will return a 401 Unauthorized status code.
30
+ #
31
+ # [Learn more](https://imagekit.io/docs/media-delivery-basic-security#how-to-generate-signed-urls).
32
+ #
33
+ # @return [Float, nil]
34
+ optional :expires_in, Float, api_name: :expiresIn
35
+
36
+ # @!attribute query_parameters
37
+ # These are additional query parameters that you want to add to the final URL.
38
+ # They can be any query parameters and not necessarily related to ImageKit. This
39
+ # is especially useful if you want to add a versioning parameter to your URLs.
40
+ #
41
+ # @return [Hash{Symbol=>String}, nil]
42
+ optional :query_parameters, Imagekitio::Internal::Type::HashOf[String], api_name: :queryParameters
43
+
44
+ # @!attribute signed
45
+ # Whether to sign the URL or not. Set this to `true` if you want to generate a
46
+ # signed URL. If `signed` is `true` and `expiresIn` is not specified, the signed
47
+ # URL will not expire (valid indefinitely). Note: If `expiresIn` is set to any
48
+ # value above 0, the URL will always be signed regardless of this setting.
49
+ # [Learn more](https://imagekit.io/docs/media-delivery-basic-security#how-to-generate-signed-urls).
50
+ #
51
+ # @return [Boolean, nil]
52
+ optional :signed, Imagekitio::Internal::Type::Boolean
53
+
54
+ # @!attribute transformation
55
+ # An array of objects specifying the transformations to be applied in the URL. If
56
+ # more than one transformation is specified, they are applied in the order they
57
+ # are specified as chained transformations. See
58
+ # [Chained transformations](https://imagekit.io/docs/transformations#chained-transformations).
59
+ #
60
+ # @return [Array<Imagekitio::Models::Transformation>, nil]
61
+ optional :transformation, -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::Transformation] }
62
+
63
+ # @!attribute transformation_position
64
+ # By default, the transformation string is added as a query parameter in the URL,
65
+ # e.g., `?tr=w-100,h-100`. If you want to add the transformation string in the
66
+ # path of the URL, set this to `path`. Learn more in the
67
+ # [Transformations guide](https://imagekit.io/docs/transformations).
68
+ #
69
+ # @return [Symbol, Imagekitio::Models::TransformationPosition, nil]
70
+ optional :transformation_position,
71
+ enum: -> { Imagekitio::TransformationPosition },
72
+ api_name: :transformationPosition
73
+
74
+ # @!method initialize(src:, url_endpoint:, expires_in: nil, query_parameters: nil, signed: nil, transformation: nil, transformation_position: nil)
75
+ # Some parameter documentations has been truncated, see
76
+ # {Imagekitio::Models::SrcOptions} for more details.
77
+ #
78
+ # Options for generating ImageKit URLs with transformations. See the
79
+ # [Transformations guide](https://imagekit.io/docs/transformations).
80
+ #
81
+ # @param src [String] Accepts a relative or absolute path of the resource. If a relative path is provi
82
+ #
83
+ # @param url_endpoint [String] Get your urlEndpoint from the [ImageKit dashboard](https://imagekit.io/dashboard
84
+ #
85
+ # @param expires_in [Float] When you want the signed URL to expire, specified in seconds. If `expiresIn` is
86
+ #
87
+ # @param query_parameters [Hash{Symbol=>String}] These are additional query parameters that you want to add to the final URL.
88
+ #
89
+ # @param signed [Boolean] Whether to sign the URL or not. Set this to `true` if you want to generate a sig
90
+ #
91
+ # @param transformation [Array<Imagekitio::Models::Transformation>] An array of objects specifying the transformations to be applied in the URL. If
92
+ #
93
+ # @param transformation_position [Symbol, Imagekitio::Models::TransformationPosition] By default, the transformation string is added as a query parameter in the URL,
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ # Available streaming resolutions for
6
+ # [adaptive bitrate streaming](https://imagekit.io/docs/adaptive-bitrate-streaming)
7
+ module StreamingResolution
8
+ extend Imagekitio::Internal::Type::Enum
9
+
10
+ STREAMING_RESOLUTION_240 = :"240"
11
+ STREAMING_RESOLUTION_360 = :"360"
12
+ STREAMING_RESOLUTION_480 = :"480"
13
+ STREAMING_RESOLUTION_720 = :"720"
14
+ STREAMING_RESOLUTION_1080 = :"1080"
15
+ STREAMING_RESOLUTION_1440 = :"1440"
16
+ STREAMING_RESOLUTION_2160 = :"2160"
17
+
18
+ # @!method self.values
19
+ # @return [Array<Symbol>]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SubtitleOverlay < Imagekitio::Models::BaseOverlay
6
+ # @!attribute input
7
+ # Specifies the relative path to the subtitle file used as an overlay.
8
+ #
9
+ # @return [String]
10
+ required :input, String
11
+
12
+ # @!attribute type
13
+ #
14
+ # @return [Symbol, :subtitle]
15
+ required :type, const: :subtitle
16
+
17
+ # @!attribute encoding
18
+ # The input path can be included in the layer as either `i-{input}` or
19
+ # `ie-{base64_encoded_input}`. By default, the SDK determines the appropriate
20
+ # format automatically. To always use base64 encoding (`ie-{base64}`), set this
21
+ # parameter to `base64`. To always use plain text (`i-{input}`), set it to
22
+ # `plain`.
23
+ #
24
+ # @return [Symbol, Imagekitio::Models::SubtitleOverlay::Encoding, nil]
25
+ optional :encoding, enum: -> { Imagekitio::SubtitleOverlay::Encoding }
26
+
27
+ # @!attribute transformation
28
+ # Control styling of the subtitle. See
29
+ # [Styling subtitles](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer).
30
+ #
31
+ # @return [Array<Imagekitio::Models::SubtitleOverlayTransformation>, nil]
32
+ optional :transformation,
33
+ -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::SubtitleOverlayTransformation] }
34
+
35
+ # @!method initialize(input:, encoding: nil, transformation: nil, type: :subtitle)
36
+ # Some parameter documentations has been truncated, see
37
+ # {Imagekitio::Models::SubtitleOverlay} for more details.
38
+ #
39
+ # @param input [String] Specifies the relative path to the subtitle file used as an overlay.
40
+ #
41
+ # @param encoding [Symbol, Imagekitio::Models::SubtitleOverlay::Encoding] The input path can be included in the layer as either `i-{input}` or `ie-{base64
42
+ #
43
+ # @param transformation [Array<Imagekitio::Models::SubtitleOverlayTransformation>] Control styling of the subtitle. See [Styling subtitles](https://imagekit.io/doc
44
+ #
45
+ # @param type [Symbol, :subtitle]
46
+
47
+ # The input path can be included in the layer as either `i-{input}` or
48
+ # `ie-{base64_encoded_input}`. By default, the SDK determines the appropriate
49
+ # format automatically. To always use base64 encoding (`ie-{base64}`), set this
50
+ # parameter to `base64`. To always use plain text (`i-{input}`), set it to
51
+ # `plain`.
52
+ module Encoding
53
+ extend Imagekitio::Internal::Type::Enum
54
+
55
+ AUTO = :auto
56
+ PLAIN = :plain
57
+ BASE64 = :base64
58
+
59
+ # @!method self.values
60
+ # @return [Array<Symbol>]
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class SubtitleOverlayTransformation < Imagekitio::Internal::Type::BaseModel
6
+ # @!attribute background
7
+ # Specifies the subtitle background color using a standard color name, an RGB
8
+ # color code (e.g., FF0000), or an RGBA color code (e.g., FFAABB50).
9
+ #
10
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
11
+ #
12
+ # @return [String, nil]
13
+ optional :background, String
14
+
15
+ # @!attribute color
16
+ # Sets the font color of the subtitle text using a standard color name, an RGB
17
+ # color code (e.g., FF0000), or an RGBA color code (e.g., FFAABB50).
18
+ #
19
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
20
+ #
21
+ # @return [String, nil]
22
+ optional :color, String
23
+
24
+ # @!attribute font_family
25
+ # Font family for subtitles. Refer to the
26
+ # [supported fonts](https://imagekit.io/docs/add-overlays-on-images#supported-text-font-list).
27
+ #
28
+ # @return [String, nil]
29
+ optional :font_family, String, api_name: :fontFamily
30
+
31
+ # @!attribute font_outline
32
+ # Sets the font outline of the subtitle text. Requires the outline width (an
33
+ # integer) and the outline color (as an RGB color code, RGBA color code, or
34
+ # standard web color name) separated by an underscore. Example: `fol-2_blue`
35
+ # (outline width of 2px and outline color blue), `fol-2_A1CCDD` (outline width of
36
+ # 2px and outline color `#A1CCDD`) and `fol-2_A1CCDD50` (outline width of 2px and
37
+ # outline color `#A1CCDD` at 50% opacity).
38
+ #
39
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
40
+ #
41
+ # @return [String, nil]
42
+ optional :font_outline, String, api_name: :fontOutline
43
+
44
+ # @!attribute font_shadow
45
+ # Sets the font shadow for the subtitle text. Requires the shadow color (as an RGB
46
+ # color code, RGBA color code, or standard web color name) and shadow indent (an
47
+ # integer) separated by an underscore. Example: `fsh-blue_2` (shadow color blue,
48
+ # indent of 2px), `fsh-A1CCDD_3` (shadow color `#A1CCDD`, indent of 3px),
49
+ # `fsh-A1CCDD50_3` (shadow color `#A1CCDD` at 50% opacity, indent of 3px).
50
+ #
51
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
52
+ #
53
+ # @return [String, nil]
54
+ optional :font_shadow, String, api_name: :fontShadow
55
+
56
+ # @!attribute font_size
57
+ # Sets the font size of subtitle text.
58
+ #
59
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
60
+ #
61
+ # @return [Float, nil]
62
+ optional :font_size, Float, api_name: :fontSize
63
+
64
+ # @!attribute typography
65
+ # Sets the typography style of the subtitle text. Supports values are `b` for
66
+ # bold, `i` for italics, and `b_i` for bold with italics.
67
+ #
68
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
69
+ #
70
+ # @return [Symbol, Imagekitio::Models::SubtitleOverlayTransformation::Typography, nil]
71
+ optional :typography, enum: -> { Imagekitio::SubtitleOverlayTransformation::Typography }
72
+
73
+ # @!method initialize(background: nil, color: nil, font_family: nil, font_outline: nil, font_shadow: nil, font_size: nil, typography: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {Imagekitio::Models::SubtitleOverlayTransformation} for more details.
76
+ #
77
+ # Subtitle styling options.
78
+ # [Learn more](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
79
+ # from the docs.
80
+ #
81
+ # @param background [String] Specifies the subtitle background color using a standard color name, an RGB colo
82
+ #
83
+ # @param color [String] Sets the font color of the subtitle text using a standard color name, an RGB col
84
+ #
85
+ # @param font_family [String] Font family for subtitles. Refer to the [supported fonts](https://imagekit.io/do
86
+ #
87
+ # @param font_outline [String] Sets the font outline of the subtitle text.
88
+ #
89
+ # @param font_shadow [String] Sets the font shadow for the subtitle text.
90
+ #
91
+ # @param font_size [Float] Sets the font size of subtitle text.
92
+ #
93
+ # @param typography [Symbol, Imagekitio::Models::SubtitleOverlayTransformation::Typography] Sets the typography style of the subtitle text. Supports values are `b` for bold
94
+
95
+ # Sets the typography style of the subtitle text. Supports values are `b` for
96
+ # bold, `i` for italics, and `b_i` for bold with italics.
97
+ #
98
+ # [Subtitle styling options](https://imagekit.io/docs/add-overlays-on-videos#styling-controls-for-subtitles-layer)
99
+ #
100
+ # @see Imagekitio::Models::SubtitleOverlayTransformation#typography
101
+ module Typography
102
+ extend Imagekitio::Internal::Type::Enum
103
+
104
+ B = :b
105
+ I = :i
106
+ B_I = :b_i
107
+
108
+ # @!method self.values
109
+ # @return [Array<Symbol>]
110
+ end
111
+ end
112
+ end
113
+ end