moderation_api 1.2.2 → 2.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 (438) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +28 -0
  4. data/README.md +200 -62
  5. data/SECURITY.md +27 -0
  6. data/lib/moderation_api/client.rb +98 -0
  7. data/lib/moderation_api/errors.rb +228 -0
  8. data/lib/moderation_api/file_part.rb +58 -0
  9. data/lib/moderation_api/internal/transport/base_client.rb +577 -0
  10. data/lib/moderation_api/internal/transport/pooled_net_requester.rb +208 -0
  11. data/lib/moderation_api/internal/type/array_of.rb +168 -0
  12. data/lib/moderation_api/internal/type/base_model.rb +534 -0
  13. data/lib/moderation_api/internal/type/base_page.rb +55 -0
  14. data/lib/moderation_api/internal/type/boolean.rb +77 -0
  15. data/lib/moderation_api/internal/type/converter.rb +327 -0
  16. data/lib/moderation_api/internal/type/enum.rb +131 -0
  17. data/lib/moderation_api/internal/type/file_input.rb +111 -0
  18. data/lib/moderation_api/internal/type/hash_of.rb +188 -0
  19. data/lib/moderation_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/moderation_api/internal/type/union.rb +243 -0
  21. data/lib/moderation_api/internal/type/unknown.rb +81 -0
  22. data/lib/moderation_api/internal/util.rb +915 -0
  23. data/lib/moderation_api/internal.rb +20 -0
  24. data/lib/moderation_api/models/account_list_params.rb +14 -0
  25. data/lib/moderation_api/models/account_list_response.rb +68 -0
  26. data/lib/moderation_api/models/action_create_params.rb +217 -0
  27. data/lib/moderation_api/models/action_create_response.rb +188 -0
  28. data/lib/moderation_api/models/action_delete_params.rb +14 -0
  29. data/lib/moderation_api/models/action_delete_response.rb +25 -0
  30. data/lib/moderation_api/models/action_list_params.rb +20 -0
  31. data/lib/moderation_api/models/action_list_response.rb +247 -0
  32. data/lib/moderation_api/models/action_retrieve_params.rb +14 -0
  33. data/lib/moderation_api/models/action_retrieve_response.rb +244 -0
  34. data/lib/moderation_api/models/action_update_params.rb +217 -0
  35. data/lib/moderation_api/models/action_update_response.rb +188 -0
  36. data/lib/moderation_api/models/actions/execute_execute_by_id_params.rb +48 -0
  37. data/lib/moderation_api/models/actions/execute_execute_by_id_response.rb +35 -0
  38. data/lib/moderation_api/models/actions/execute_execute_params.rb +64 -0
  39. data/lib/moderation_api/models/actions/execute_execute_response.rb +21 -0
  40. data/lib/moderation_api/models/auth_create_params.rb +14 -0
  41. data/lib/moderation_api/models/auth_create_response.rb +33 -0
  42. data/lib/moderation_api/models/auth_retrieve_params.rb +14 -0
  43. data/lib/moderation_api/models/auth_retrieve_response.rb +25 -0
  44. data/lib/moderation_api/models/author_create_params.rb +127 -0
  45. data/lib/moderation_api/models/author_create_response.rb +272 -0
  46. data/lib/moderation_api/models/author_delete_params.rb +14 -0
  47. data/lib/moderation_api/models/author_delete_response.rb +16 -0
  48. data/lib/moderation_api/models/author_list_params.rb +93 -0
  49. data/lib/moderation_api/models/author_list_response.rb +326 -0
  50. data/lib/moderation_api/models/author_retrieve_params.rb +14 -0
  51. data/lib/moderation_api/models/author_retrieve_response.rb +274 -0
  52. data/lib/moderation_api/models/author_update_params.rb +119 -0
  53. data/lib/moderation_api/models/author_update_response.rb +272 -0
  54. data/lib/moderation_api/models/content_submit_params.rb +871 -0
  55. data/lib/moderation_api/models/content_submit_response.rb +742 -0
  56. data/lib/moderation_api/models/queue/item_list_params.rb +118 -0
  57. data/lib/moderation_api/models/queue/item_list_response.rb +235 -0
  58. data/lib/moderation_api/models/queue/item_resolve_params.rb +32 -0
  59. data/lib/moderation_api/models/queue/item_resolve_response.rb +34 -0
  60. data/lib/moderation_api/models/queue/item_unresolve_params.rb +32 -0
  61. data/lib/moderation_api/models/queue/item_unresolve_response.rb +34 -0
  62. data/lib/moderation_api/models/queue_get_stats_params.rb +22 -0
  63. data/lib/moderation_api/models/queue_get_stats_response.rb +251 -0
  64. data/lib/moderation_api/models/queue_retrieve_params.rb +14 -0
  65. data/lib/moderation_api/models/queue_retrieve_response.rb +190 -0
  66. data/lib/moderation_api/models/wordlist/word_add_params.rb +24 -0
  67. data/lib/moderation_api/models/wordlist/word_add_response.rb +35 -0
  68. data/lib/moderation_api/models/wordlist/word_remove_params.rb +24 -0
  69. data/lib/moderation_api/models/wordlist/word_remove_response.rb +35 -0
  70. data/lib/moderation_api/models/wordlist_get_embedding_status_params.rb +14 -0
  71. data/lib/moderation_api/models/wordlist_get_embedding_status_response.rb +35 -0
  72. data/lib/moderation_api/models/wordlist_list_params.rb +14 -0
  73. data/lib/moderation_api/models/wordlist_list_response.rb +52 -0
  74. data/lib/moderation_api/models/wordlist_retrieve_params.rb +14 -0
  75. data/lib/moderation_api/models/wordlist_retrieve_response.rb +65 -0
  76. data/lib/moderation_api/models/wordlist_update_params.rb +58 -0
  77. data/lib/moderation_api/models/wordlist_update_response.rb +65 -0
  78. data/lib/moderation_api/models.rb +90 -0
  79. data/lib/moderation_api/request_options.rb +78 -0
  80. data/lib/moderation_api/resources/account.rb +32 -0
  81. data/lib/moderation_api/resources/actions/execute.rb +80 -0
  82. data/lib/moderation_api/resources/actions.rb +175 -0
  83. data/lib/moderation_api/resources/auth.rb +50 -0
  84. data/lib/moderation_api/resources/authors.rb +179 -0
  85. data/lib/moderation_api/resources/content.rb +53 -0
  86. data/lib/moderation_api/resources/queue/items.rb +131 -0
  87. data/lib/moderation_api/resources/queue.rb +63 -0
  88. data/lib/moderation_api/resources/wordlist/words.rb +64 -0
  89. data/lib/moderation_api/resources/wordlist.rb +111 -0
  90. data/lib/moderation_api/version.rb +3 -13
  91. data/lib/moderation_api.rb +115 -89
  92. data/manifest.yaml +17 -0
  93. data/rbi/moderation_api/client.rbi +67 -0
  94. data/rbi/moderation_api/errors.rbi +205 -0
  95. data/rbi/moderation_api/file_part.rbi +37 -0
  96. data/rbi/moderation_api/internal/transport/base_client.rbi +305 -0
  97. data/rbi/moderation_api/internal/transport/pooled_net_requester.rbi +84 -0
  98. data/rbi/moderation_api/internal/type/array_of.rbi +104 -0
  99. data/rbi/moderation_api/internal/type/base_model.rbi +314 -0
  100. data/rbi/moderation_api/internal/type/base_page.rbi +43 -0
  101. data/rbi/moderation_api/internal/type/boolean.rbi +58 -0
  102. data/rbi/moderation_api/internal/type/converter.rbi +225 -0
  103. data/rbi/moderation_api/internal/type/enum.rbi +82 -0
  104. data/rbi/moderation_api/internal/type/file_input.rbi +59 -0
  105. data/rbi/moderation_api/internal/type/hash_of.rbi +104 -0
  106. data/rbi/moderation_api/internal/type/request_parameters.rbi +31 -0
  107. data/rbi/moderation_api/internal/type/union.rbi +128 -0
  108. data/rbi/moderation_api/internal/type/unknown.rbi +58 -0
  109. data/rbi/moderation_api/internal/util.rbi +487 -0
  110. data/rbi/moderation_api/internal.rbi +18 -0
  111. data/rbi/moderation_api/models/account_list_params.rbi +32 -0
  112. data/rbi/moderation_api/models/account_list_response.rbi +115 -0
  113. data/rbi/moderation_api/models/action_create_params.rbi +433 -0
  114. data/rbi/moderation_api/models/action_create_response.rbi +354 -0
  115. data/rbi/moderation_api/models/action_delete_params.rbi +32 -0
  116. data/rbi/moderation_api/models/action_delete_response.rbi +36 -0
  117. data/rbi/moderation_api/models/action_list_params.rbi +41 -0
  118. data/rbi/moderation_api/models/action_list_response.rbi +450 -0
  119. data/rbi/moderation_api/models/action_retrieve_params.rbi +32 -0
  120. data/rbi/moderation_api/models/action_retrieve_response.rbi +442 -0
  121. data/rbi/moderation_api/models/action_update_params.rbi +436 -0
  122. data/rbi/moderation_api/models/action_update_response.rbi +354 -0
  123. data/rbi/moderation_api/models/actions/execute_execute_by_id_params.rbi +84 -0
  124. data/rbi/moderation_api/models/actions/execute_execute_by_id_response.rbi +54 -0
  125. data/rbi/moderation_api/models/actions/execute_execute_params.rbi +103 -0
  126. data/rbi/moderation_api/models/actions/execute_execute_response.rbi +33 -0
  127. data/rbi/moderation_api/models/auth_create_params.rbi +32 -0
  128. data/rbi/moderation_api/models/auth_create_response.rbi +48 -0
  129. data/rbi/moderation_api/models/auth_retrieve_params.rbi +32 -0
  130. data/rbi/moderation_api/models/auth_retrieve_response.rbi +36 -0
  131. data/rbi/moderation_api/models/author_create_params.rbi +184 -0
  132. data/rbi/moderation_api/models/author_create_response.rbi +467 -0
  133. data/rbi/moderation_api/models/author_delete_params.rbi +32 -0
  134. data/rbi/moderation_api/models/author_delete_response.rbi +26 -0
  135. data/rbi/moderation_api/models/author_list_params.rbi +213 -0
  136. data/rbi/moderation_api/models/author_list_response.rbi +593 -0
  137. data/rbi/moderation_api/models/author_retrieve_params.rbi +32 -0
  138. data/rbi/moderation_api/models/author_retrieve_response.rbi +472 -0
  139. data/rbi/moderation_api/models/author_update_params.rbi +176 -0
  140. data/rbi/moderation_api/models/author_update_response.rbi +467 -0
  141. data/rbi/moderation_api/models/content_submit_params.rbi +1641 -0
  142. data/rbi/moderation_api/models/content_submit_response.rbi +1456 -0
  143. data/rbi/moderation_api/models/queue/item_list_params.rbi +237 -0
  144. data/rbi/moderation_api/models/queue/item_list_response.rbi +440 -0
  145. data/rbi/moderation_api/models/queue/item_resolve_params.rbi +59 -0
  146. data/rbi/moderation_api/models/queue/item_resolve_response.rbi +55 -0
  147. data/rbi/moderation_api/models/queue/item_unresolve_params.rbi +59 -0
  148. data/rbi/moderation_api/models/queue/item_unresolve_response.rbi +52 -0
  149. data/rbi/moderation_api/models/queue_get_stats_params.rbi +49 -0
  150. data/rbi/moderation_api/models/queue_get_stats_response.rbi +466 -0
  151. data/rbi/moderation_api/models/queue_retrieve_params.rbi +32 -0
  152. data/rbi/moderation_api/models/queue_retrieve_response.rbi +411 -0
  153. data/rbi/moderation_api/models/wordlist/word_add_params.rbi +48 -0
  154. data/rbi/moderation_api/models/wordlist/word_add_response.rbi +58 -0
  155. data/rbi/moderation_api/models/wordlist/word_remove_params.rbi +48 -0
  156. data/rbi/moderation_api/models/wordlist/word_remove_response.rbi +58 -0
  157. data/rbi/moderation_api/models/wordlist_get_embedding_status_params.rbi +32 -0
  158. data/rbi/moderation_api/models/wordlist_get_embedding_status_response.rbi +53 -0
  159. data/rbi/moderation_api/models/wordlist_list_params.rbi +32 -0
  160. data/rbi/moderation_api/models/wordlist_list_response.rbi +80 -0
  161. data/rbi/moderation_api/models/wordlist_retrieve_params.rbi +32 -0
  162. data/rbi/moderation_api/models/wordlist_retrieve_response.rbi +88 -0
  163. data/rbi/moderation_api/models/wordlist_update_params.rbi +95 -0
  164. data/rbi/moderation_api/models/wordlist_update_response.rbi +88 -0
  165. data/rbi/moderation_api/models.rbi +50 -0
  166. data/rbi/moderation_api/request_options.rbi +59 -0
  167. data/rbi/moderation_api/resources/account.rbi +21 -0
  168. data/rbi/moderation_api/resources/actions/execute.rbi +69 -0
  169. data/rbi/moderation_api/resources/actions.rbi +164 -0
  170. data/rbi/moderation_api/resources/auth.rbi +28 -0
  171. data/rbi/moderation_api/resources/authors.rbi +143 -0
  172. data/rbi/moderation_api/resources/content.rbi +84 -0
  173. data/rbi/moderation_api/resources/queue/items.rbi +95 -0
  174. data/rbi/moderation_api/resources/queue.rbi +47 -0
  175. data/rbi/moderation_api/resources/wordlist/words.rbi +48 -0
  176. data/rbi/moderation_api/resources/wordlist.rbi +82 -0
  177. data/rbi/moderation_api/version.rbi +5 -0
  178. data/sig/moderation_api/client.rbs +38 -0
  179. data/sig/moderation_api/errors.rbs +117 -0
  180. data/sig/moderation_api/file_part.rbs +21 -0
  181. data/sig/moderation_api/internal/transport/base_client.rbs +133 -0
  182. data/sig/moderation_api/internal/transport/pooled_net_requester.rbs +48 -0
  183. data/sig/moderation_api/internal/type/array_of.rbs +48 -0
  184. data/sig/moderation_api/internal/type/base_model.rbs +104 -0
  185. data/sig/moderation_api/internal/type/base_page.rbs +24 -0
  186. data/sig/moderation_api/internal/type/boolean.rbs +26 -0
  187. data/sig/moderation_api/internal/type/converter.rbs +79 -0
  188. data/sig/moderation_api/internal/type/enum.rbs +32 -0
  189. data/sig/moderation_api/internal/type/file_input.rbs +25 -0
  190. data/sig/moderation_api/internal/type/hash_of.rbs +48 -0
  191. data/sig/moderation_api/internal/type/request_parameters.rbs +19 -0
  192. data/sig/moderation_api/internal/type/union.rbs +52 -0
  193. data/sig/moderation_api/internal/type/unknown.rbs +26 -0
  194. data/sig/moderation_api/internal/util.rbs +185 -0
  195. data/sig/moderation_api/internal.rbs +10 -0
  196. data/sig/moderation_api/models/account_list_params.rbs +15 -0
  197. data/sig/moderation_api/models/account_list_response.rbs +56 -0
  198. data/sig/moderation_api/models/action_create_params.rbs +195 -0
  199. data/sig/moderation_api/models/action_create_response.rbs +143 -0
  200. data/sig/moderation_api/models/action_delete_params.rbs +15 -0
  201. data/sig/moderation_api/models/action_delete_response.rbs +15 -0
  202. data/sig/moderation_api/models/action_list_params.rbs +25 -0
  203. data/sig/moderation_api/models/action_list_response.rbs +190 -0
  204. data/sig/moderation_api/models/action_retrieve_params.rbs +15 -0
  205. data/sig/moderation_api/models/action_retrieve_response.rbs +185 -0
  206. data/sig/moderation_api/models/action_update_params.rbs +197 -0
  207. data/sig/moderation_api/models/action_update_response.rbs +143 -0
  208. data/sig/moderation_api/models/actions/execute_execute_by_id_params.rbs +51 -0
  209. data/sig/moderation_api/models/actions/execute_execute_by_id_response.rbs +28 -0
  210. data/sig/moderation_api/models/actions/execute_execute_params.rbs +63 -0
  211. data/sig/moderation_api/models/actions/execute_execute_response.rbs +15 -0
  212. data/sig/moderation_api/models/auth_create_params.rbs +15 -0
  213. data/sig/moderation_api/models/auth_create_response.rbs +18 -0
  214. data/sig/moderation_api/models/auth_retrieve_params.rbs +15 -0
  215. data/sig/moderation_api/models/auth_retrieve_response.rbs +15 -0
  216. data/sig/moderation_api/models/author_create_params.rbs +106 -0
  217. data/sig/moderation_api/models/author_create_response.rbs +195 -0
  218. data/sig/moderation_api/models/author_delete_params.rbs +15 -0
  219. data/sig/moderation_api/models/author_delete_response.rbs +13 -0
  220. data/sig/moderation_api/models/author_list_params.rbs +110 -0
  221. data/sig/moderation_api/models/author_list_response.rbs +254 -0
  222. data/sig/moderation_api/models/author_retrieve_params.rbs +15 -0
  223. data/sig/moderation_api/models/author_retrieve_response.rbs +195 -0
  224. data/sig/moderation_api/models/author_update_params.rbs +101 -0
  225. data/sig/moderation_api/models/author_update_response.rbs +195 -0
  226. data/sig/moderation_api/models/content_submit_params.rbs +733 -0
  227. data/sig/moderation_api/models/content_submit_response.rbs +599 -0
  228. data/sig/moderation_api/models/queue/item_list_params.rbs +127 -0
  229. data/sig/moderation_api/models/queue/item_list_response.rbs +209 -0
  230. data/sig/moderation_api/models/queue/item_resolve_params.rbs +32 -0
  231. data/sig/moderation_api/models/queue/item_resolve_response.rbs +26 -0
  232. data/sig/moderation_api/models/queue/item_unresolve_params.rbs +32 -0
  233. data/sig/moderation_api/models/queue/item_unresolve_response.rbs +24 -0
  234. data/sig/moderation_api/models/queue_get_stats_params.rbs +26 -0
  235. data/sig/moderation_api/models/queue_get_stats_response.rbs +207 -0
  236. data/sig/moderation_api/models/queue_retrieve_params.rbs +15 -0
  237. data/sig/moderation_api/models/queue_retrieve_response.rbs +207 -0
  238. data/sig/moderation_api/models/wordlist/word_add_params.rbs +26 -0
  239. data/sig/moderation_api/models/wordlist/word_add_response.rbs +28 -0
  240. data/sig/moderation_api/models/wordlist/word_remove_params.rbs +26 -0
  241. data/sig/moderation_api/models/wordlist/word_remove_response.rbs +32 -0
  242. data/sig/moderation_api/models/wordlist_get_embedding_status_params.rbs +15 -0
  243. data/sig/moderation_api/models/wordlist_get_embedding_status_response.rbs +26 -0
  244. data/sig/moderation_api/models/wordlist_list_params.rbs +15 -0
  245. data/sig/moderation_api/models/wordlist_list_response.rbs +45 -0
  246. data/sig/moderation_api/models/wordlist_retrieve_params.rbs +15 -0
  247. data/sig/moderation_api/models/wordlist_retrieve_response.rbs +50 -0
  248. data/sig/moderation_api/models/wordlist_update_params.rbs +56 -0
  249. data/sig/moderation_api/models/wordlist_update_response.rbs +50 -0
  250. data/sig/moderation_api/models.rbs +47 -0
  251. data/sig/moderation_api/request_options.rbs +36 -0
  252. data/sig/moderation_api/resources/account.rbs +11 -0
  253. data/sig/moderation_api/resources/actions/execute.rbs +28 -0
  254. data/sig/moderation_api/resources/actions.rbs +57 -0
  255. data/sig/moderation_api/resources/auth.rbs +15 -0
  256. data/sig/moderation_api/resources/authors.rbs +54 -0
  257. data/sig/moderation_api/resources/content.rbs +20 -0
  258. data/sig/moderation_api/resources/queue/items.rbs +39 -0
  259. data/sig/moderation_api/resources/queue.rbs +20 -0
  260. data/sig/moderation_api/resources/wordlist/words.rbs +21 -0
  261. data/sig/moderation_api/resources/wordlist.rbs +33 -0
  262. data/sig/moderation_api/version.rbs +3 -0
  263. metadata +277 -302
  264. data/Gemfile +0 -9
  265. data/Gemfile.lock +0 -87
  266. data/Rakefile +0 -10
  267. data/docs/AccountApi.md +0 -74
  268. data/docs/AccountGet200Response.md +0 -26
  269. data/docs/AccountGet200ResponseCurrentProject.md +0 -20
  270. data/docs/ActionsCreateRequest.md +0 -36
  271. data/docs/ActionsCreateRequestWebhooksInner.md +0 -24
  272. data/docs/ActionsDelete200Response.md +0 -20
  273. data/docs/ActionsExecute200Response.md +0 -22
  274. data/docs/ActionsExecuteDeprecatedRequest.md +0 -22
  275. data/docs/ActionsExecuteRequest.md +0 -24
  276. data/docs/ActionsGet200Response.md +0 -40
  277. data/docs/ActionsGet200ResponseWebhooksInner.md +0 -26
  278. data/docs/ActionsList200ResponseInner.md +0 -38
  279. data/docs/ActionsList200ResponseInnerPossibleValuesInner.md +0 -18
  280. data/docs/ActionsList400Response.md +0 -22
  281. data/docs/ActionsList400ResponseIssuesInner.md +0 -18
  282. data/docs/ActionsUpdateRequest.md +0 -36
  283. data/docs/ModerateApi.md +0 -357
  284. data/docs/ModerationAudioRequest.md +0 -28
  285. data/docs/ModerationImage200Response.md +0 -28
  286. data/docs/ModerationImage200ResponseLabelsInner.md +0 -20
  287. data/docs/ModerationImageRequest.md +0 -28
  288. data/docs/ModerationObject200Response.md +0 -36
  289. data/docs/ModerationObject200ResponseAllOfEntitiesInner.md +0 -22
  290. data/docs/ModerationObject200ResponseAllOfFieldsInner.md +0 -22
  291. data/docs/ModerationObject200ResponseAllOfLabelsInner.md +0 -22
  292. data/docs/ModerationObjectRequest.md +0 -28
  293. data/docs/ModerationObjectRequestValue.md +0 -20
  294. data/docs/ModerationObjectRequestValueDataValue.md +0 -22
  295. data/docs/ModerationText200Response.md +0 -64
  296. data/docs/ModerationText200ResponseAllOfAddress.md +0 -28
  297. data/docs/ModerationText200ResponseAllOfEmail.md +0 -28
  298. data/docs/ModerationText200ResponseAllOfName.md +0 -28
  299. data/docs/ModerationText200ResponseAllOfNsfw.md +0 -26
  300. data/docs/ModerationText200ResponseAllOfNsfwLabelScores.md +0 -22
  301. data/docs/ModerationText200ResponseAllOfPhone.md +0 -28
  302. data/docs/ModerationText200ResponseAllOfProfanity.md +0 -28
  303. data/docs/ModerationText200ResponseAllOfPropriety.md +0 -26
  304. data/docs/ModerationText200ResponseAllOfProprietyLabelScores.md +0 -22
  305. data/docs/ModerationText200ResponseAllOfQuality.md +0 -26
  306. data/docs/ModerationText200ResponseAllOfQualityLabelScores.md +0 -24
  307. data/docs/ModerationText200ResponseAllOfRequest.md +0 -20
  308. data/docs/ModerationText200ResponseAllOfSensitive.md +0 -28
  309. data/docs/ModerationText200ResponseAllOfSentiment.md +0 -26
  310. data/docs/ModerationText200ResponseAllOfSentimentLabelScores.md +0 -22
  311. data/docs/ModerationText200ResponseAllOfToxicity.md +0 -26
  312. data/docs/ModerationText200ResponseAllOfToxicityLabelScores.md +0 -30
  313. data/docs/ModerationText200ResponseAllOfUrl.md +0 -28
  314. data/docs/ModerationText200ResponseAllOfUsername.md +0 -28
  315. data/docs/ModerationText200ResponseAllOfWordlist.md +0 -28
  316. data/docs/ModerationText200ResponseAllOfWordlistsInner.md +0 -36
  317. data/docs/ModerationTextRequest.md +0 -28
  318. data/docs/ModerationVideo200Response.md +0 -24
  319. data/docs/ModerationVideoRequest.md +0 -28
  320. data/docs/QueueActionsApi.md +0 -503
  321. data/git_push.sh +0 -57
  322. data/lib/moderation_api/api/account_api.rb +0 -79
  323. data/lib/moderation_api/api/moderate_api.rb +0 -362
  324. data/lib/moderation_api/api/queue_actions_api.rb +0 -492
  325. data/lib/moderation_api/api_client.rb +0 -437
  326. data/lib/moderation_api/api_error.rb +0 -58
  327. data/lib/moderation_api/configuration.rb +0 -392
  328. data/lib/moderation_api/models/account_get200_response.rb +0 -278
  329. data/lib/moderation_api/models/account_get200_response_current_project.rb +0 -237
  330. data/lib/moderation_api/models/actions_create_request.rb +0 -374
  331. data/lib/moderation_api/models/actions_create_request_webhooks_inner.rb +0 -260
  332. data/lib/moderation_api/models/actions_delete200_response.rb +0 -239
  333. data/lib/moderation_api/models/actions_execute200_response.rb +0 -258
  334. data/lib/moderation_api/models/actions_execute_deprecated_request.rb +0 -244
  335. data/lib/moderation_api/models/actions_execute_request.rb +0 -261
  336. data/lib/moderation_api/models/actions_get200_response.rb +0 -408
  337. data/lib/moderation_api/models/actions_get200_response_webhooks_inner.rb +0 -278
  338. data/lib/moderation_api/models/actions_list200_response_inner.rb +0 -396
  339. data/lib/moderation_api/models/actions_list200_response_inner_possible_values_inner.rb +0 -222
  340. data/lib/moderation_api/models/actions_list400_response.rb +0 -248
  341. data/lib/moderation_api/models/actions_list400_response_issues_inner.rb +0 -221
  342. data/lib/moderation_api/models/actions_update_request.rb +0 -367
  343. data/lib/moderation_api/models/moderation_audio_request.rb +0 -302
  344. data/lib/moderation_api/models/moderation_image200_response.rb +0 -296
  345. data/lib/moderation_api/models/moderation_image200_response_labels_inner.rb +0 -301
  346. data/lib/moderation_api/models/moderation_image_request.rb +0 -302
  347. data/lib/moderation_api/models/moderation_object200_response.rb +0 -368
  348. data/lib/moderation_api/models/moderation_object200_response_all_of_entities_inner.rb +0 -251
  349. data/lib/moderation_api/models/moderation_object200_response_all_of_fields_inner.rb +0 -258
  350. data/lib/moderation_api/models/moderation_object200_response_all_of_labels_inner.rb +0 -284
  351. data/lib/moderation_api/models/moderation_object_request.rb +0 -301
  352. data/lib/moderation_api/models/moderation_object_request_value.rb +0 -275
  353. data/lib/moderation_api/models/moderation_object_request_value_data_value.rb +0 -285
  354. data/lib/moderation_api/models/moderation_text200_response.rb +0 -488
  355. data/lib/moderation_api/models/moderation_text200_response_all_of_address.rb +0 -303
  356. data/lib/moderation_api/models/moderation_text200_response_all_of_email.rb +0 -303
  357. data/lib/moderation_api/models/moderation_text200_response_all_of_name.rb +0 -303
  358. data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw.rb +0 -255
  359. data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw_label_scores.rb +0 -235
  360. data/lib/moderation_api/models/moderation_text200_response_all_of_phone.rb +0 -303
  361. data/lib/moderation_api/models/moderation_text200_response_all_of_profanity.rb +0 -303
  362. data/lib/moderation_api/models/moderation_text200_response_all_of_propriety.rb +0 -255
  363. data/lib/moderation_api/models/moderation_text200_response_all_of_propriety_label_scores.rb +0 -235
  364. data/lib/moderation_api/models/moderation_text200_response_all_of_quality.rb +0 -255
  365. data/lib/moderation_api/models/moderation_text200_response_all_of_quality_label_scores.rb +0 -245
  366. data/lib/moderation_api/models/moderation_text200_response_all_of_request.rb +0 -240
  367. data/lib/moderation_api/models/moderation_text200_response_all_of_sensitive.rb +0 -303
  368. data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment.rb +0 -255
  369. data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment_label_scores.rb +0 -235
  370. data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity.rb +0 -262
  371. data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity_label_scores.rb +0 -275
  372. data/lib/moderation_api/models/moderation_text200_response_all_of_url.rb +0 -303
  373. data/lib/moderation_api/models/moderation_text200_response_all_of_username.rb +0 -303
  374. data/lib/moderation_api/models/moderation_text200_response_all_of_wordlist.rb +0 -303
  375. data/lib/moderation_api/models/moderation_text200_response_all_of_wordlists_inner.rb +0 -377
  376. data/lib/moderation_api/models/moderation_text_request.rb +0 -330
  377. data/lib/moderation_api/models/moderation_video200_response.rb +0 -265
  378. data/lib/moderation_api/models/moderation_video_request.rb +0 -302
  379. data/lib/moderation_api/webhook.rb +0 -41
  380. data/moderation_api-1.2.0.gem +0 -0
  381. data/moderation_api-1.2.1.gem +0 -0
  382. data/moderation_api.gemspec +0 -45
  383. data/ruby_config.yaml +0 -30
  384. data/spec/api/account_api_spec.rb +0 -46
  385. data/spec/api/moderate_api_spec.rb +0 -95
  386. data/spec/api/queue_actions_api_spec.rb +0 -121
  387. data/spec/models/account_get200_response_current_project_spec.rb +0 -42
  388. data/spec/models/account_get200_response_spec.rb +0 -60
  389. data/spec/models/actions_create_request_spec.rb +0 -98
  390. data/spec/models/actions_create_request_webhooks_inner_spec.rb +0 -54
  391. data/spec/models/actions_delete200_response_spec.rb +0 -42
  392. data/spec/models/actions_execute200_response_spec.rb +0 -48
  393. data/spec/models/actions_execute_deprecated_request_spec.rb +0 -48
  394. data/spec/models/actions_execute_request_spec.rb +0 -54
  395. data/spec/models/actions_get200_response_spec.rb +0 -110
  396. data/spec/models/actions_get200_response_webhooks_inner_spec.rb +0 -60
  397. data/spec/models/actions_list200_response_inner_possible_values_inner_spec.rb +0 -36
  398. data/spec/models/actions_list200_response_inner_spec.rb +0 -104
  399. data/spec/models/actions_list400_response_issues_inner_spec.rb +0 -36
  400. data/spec/models/actions_list400_response_spec.rb +0 -48
  401. data/spec/models/actions_update_request_spec.rb +0 -98
  402. data/spec/models/moderation_audio_request_spec.rb +0 -66
  403. data/spec/models/moderation_image200_response_labels_inner_spec.rb +0 -46
  404. data/spec/models/moderation_image200_response_spec.rb +0 -66
  405. data/spec/models/moderation_image_request_spec.rb +0 -66
  406. data/spec/models/moderation_object200_response_all_of_entities_inner_spec.rb +0 -48
  407. data/spec/models/moderation_object200_response_all_of_fields_inner_spec.rb +0 -48
  408. data/spec/models/moderation_object200_response_all_of_labels_inner_spec.rb +0 -48
  409. data/spec/models/moderation_object200_response_spec.rb +0 -90
  410. data/spec/models/moderation_object_request_spec.rb +0 -66
  411. data/spec/models/moderation_object_request_value_data_value_spec.rb +0 -52
  412. data/spec/models/moderation_object_request_value_spec.rb +0 -46
  413. data/spec/models/moderation_text200_response_all_of_address_spec.rb +0 -70
  414. data/spec/models/moderation_text200_response_all_of_email_spec.rb +0 -70
  415. data/spec/models/moderation_text200_response_all_of_name_spec.rb +0 -70
  416. data/spec/models/moderation_text200_response_all_of_nsfw_label_scores_spec.rb +0 -48
  417. data/spec/models/moderation_text200_response_all_of_nsfw_spec.rb +0 -60
  418. data/spec/models/moderation_text200_response_all_of_phone_spec.rb +0 -70
  419. data/spec/models/moderation_text200_response_all_of_profanity_spec.rb +0 -70
  420. data/spec/models/moderation_text200_response_all_of_propriety_label_scores_spec.rb +0 -48
  421. data/spec/models/moderation_text200_response_all_of_propriety_spec.rb +0 -60
  422. data/spec/models/moderation_text200_response_all_of_quality_label_scores_spec.rb +0 -54
  423. data/spec/models/moderation_text200_response_all_of_quality_spec.rb +0 -60
  424. data/spec/models/moderation_text200_response_all_of_request_spec.rb +0 -42
  425. data/spec/models/moderation_text200_response_all_of_sensitive_spec.rb +0 -70
  426. data/spec/models/moderation_text200_response_all_of_sentiment_label_scores_spec.rb +0 -48
  427. data/spec/models/moderation_text200_response_all_of_sentiment_spec.rb +0 -60
  428. data/spec/models/moderation_text200_response_all_of_toxicity_label_scores_spec.rb +0 -72
  429. data/spec/models/moderation_text200_response_all_of_toxicity_spec.rb +0 -60
  430. data/spec/models/moderation_text200_response_all_of_url_spec.rb +0 -70
  431. data/spec/models/moderation_text200_response_all_of_username_spec.rb +0 -70
  432. data/spec/models/moderation_text200_response_all_of_wordlist_spec.rb +0 -70
  433. data/spec/models/moderation_text200_response_all_of_wordlists_inner_spec.rb +0 -94
  434. data/spec/models/moderation_text200_response_spec.rb +0 -174
  435. data/spec/models/moderation_text_request_spec.rb +0 -66
  436. data/spec/models/moderation_video200_response_spec.rb +0 -54
  437. data/spec/models/moderation_video_request_spec.rb +0 -66
  438. data/spec/spec_helper.rb +0 -111
@@ -1,265 +0,0 @@
1
- =begin
2
- #Moderation API
3
-
4
- #API for automated content moderation
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.10.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module ModerationApi
17
- class ModerationVideo200Response
18
- # Success if the request was successful
19
- attr_accessor :status
20
-
21
- attr_accessor :request
22
-
23
- # Whether the content was flagged by any models
24
- attr_accessor :flagged
25
-
26
- # The ID of the content. Only returned if the content was stored.
27
- attr_accessor :content_id
28
-
29
- # Attribute mapping from ruby-style variable name to JSON key.
30
- def self.attribute_map
31
- {
32
- :'status' => :'status',
33
- :'request' => :'request',
34
- :'flagged' => :'flagged',
35
- :'content_id' => :'contentId'
36
- }
37
- end
38
-
39
- # Returns all the JSON keys this model knows about
40
- def self.acceptable_attributes
41
- attribute_map.values
42
- end
43
-
44
- # Attribute type mapping.
45
- def self.openapi_types
46
- {
47
- :'status' => :'String',
48
- :'request' => :'ModerationText200ResponseAllOfRequest',
49
- :'flagged' => :'Boolean',
50
- :'content_id' => :'String'
51
- }
52
- end
53
-
54
- # List of attributes with nullable: true
55
- def self.openapi_nullable
56
- Set.new([
57
- ])
58
- end
59
-
60
- # Initializes the object
61
- # @param [Hash] attributes Model attributes in the form of hash
62
- def initialize(attributes = {})
63
- if (!attributes.is_a?(Hash))
64
- fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationVideo200Response` initialize method"
65
- end
66
-
67
- # check to see if the attribute exists and convert string to symbol for hash key
68
- attributes = attributes.each_with_object({}) { |(k, v), h|
69
- if (!self.class.attribute_map.key?(k.to_sym))
70
- fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationVideo200Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
71
- end
72
- h[k.to_sym] = v
73
- }
74
-
75
- if attributes.key?(:'status')
76
- self.status = attributes[:'status']
77
- else
78
- self.status = nil
79
- end
80
-
81
- if attributes.key?(:'request')
82
- self.request = attributes[:'request']
83
- else
84
- self.request = nil
85
- end
86
-
87
- if attributes.key?(:'flagged')
88
- self.flagged = attributes[:'flagged']
89
- else
90
- self.flagged = nil
91
- end
92
-
93
- if attributes.key?(:'content_id')
94
- self.content_id = attributes[:'content_id']
95
- end
96
- end
97
-
98
- # Show invalid properties with the reasons. Usually used together with valid?
99
- # @return Array for valid properties with the reasons
100
- def list_invalid_properties
101
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
102
- invalid_properties = Array.new
103
- if @status.nil?
104
- invalid_properties.push('invalid value for "status", status cannot be nil.')
105
- end
106
-
107
- if @request.nil?
108
- invalid_properties.push('invalid value for "request", request cannot be nil.')
109
- end
110
-
111
- if @flagged.nil?
112
- invalid_properties.push('invalid value for "flagged", flagged cannot be nil.')
113
- end
114
-
115
- invalid_properties
116
- end
117
-
118
- # Check to see if the all the properties in the model are valid
119
- # @return true if the model is valid
120
- def valid?
121
- warn '[DEPRECATED] the `valid?` method is obsolete'
122
- return false if @status.nil?
123
- return false if @request.nil?
124
- return false if @flagged.nil?
125
- true
126
- end
127
-
128
- # Checks equality by comparing each attribute.
129
- # @param [Object] Object to be compared
130
- def ==(o)
131
- return true if self.equal?(o)
132
- self.class == o.class &&
133
- status == o.status &&
134
- request == o.request &&
135
- flagged == o.flagged &&
136
- content_id == o.content_id
137
- end
138
-
139
- # @see the `==` method
140
- # @param [Object] Object to be compared
141
- def eql?(o)
142
- self == o
143
- end
144
-
145
- # Calculates hash code according to all attributes.
146
- # @return [Integer] Hash code
147
- def hash
148
- [status, request, flagged, content_id].hash
149
- end
150
-
151
- # Builds the object from hash
152
- # @param [Hash] attributes Model attributes in the form of hash
153
- # @return [Object] Returns the model itself
154
- def self.build_from_hash(attributes)
155
- return nil unless attributes.is_a?(Hash)
156
- attributes = attributes.transform_keys(&:to_sym)
157
- transformed_hash = {}
158
- openapi_types.each_pair do |key, type|
159
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
- transformed_hash["#{key}"] = nil
161
- elsif type =~ /\AArray<(.*)>/i
162
- # check to ensure the input is an array given that the attribute
163
- # is documented as an array but the input is not
164
- if attributes[attribute_map[key]].is_a?(Array)
165
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
- end
167
- elsif !attributes[attribute_map[key]].nil?
168
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
- end
170
- end
171
- new(transformed_hash)
172
- end
173
-
174
- # Deserializes the data based on type
175
- # @param string type Data type
176
- # @param string value Value to be deserialized
177
- # @return [Object] Deserialized data
178
- def self._deserialize(type, value)
179
- case type.to_sym
180
- when :Time
181
- Time.parse(value)
182
- when :Date
183
- Date.parse(value)
184
- when :String
185
- value.to_s
186
- when :Integer
187
- value.to_i
188
- when :Float
189
- value.to_f
190
- when :Boolean
191
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
192
- true
193
- else
194
- false
195
- end
196
- when :Object
197
- # generic object (usually a Hash), return directly
198
- value
199
- when /\AArray<(?<inner_type>.+)>\z/
200
- inner_type = Regexp.last_match[:inner_type]
201
- value.map { |v| _deserialize(inner_type, v) }
202
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
203
- k_type = Regexp.last_match[:k_type]
204
- v_type = Regexp.last_match[:v_type]
205
- {}.tap do |hash|
206
- value.each do |k, v|
207
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
208
- end
209
- end
210
- else # model
211
- # models (e.g. Pet) or oneOf
212
- klass = ModerationApi.const_get(type)
213
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
214
- end
215
- end
216
-
217
- # Returns the string representation of the object
218
- # @return [String] String presentation of the object
219
- def to_s
220
- to_hash.to_s
221
- end
222
-
223
- # to_body is an alias to to_hash (backward compatibility)
224
- # @return [Hash] Returns the object in the form of hash
225
- def to_body
226
- to_hash
227
- end
228
-
229
- # Returns the object in the form of hash
230
- # @return [Hash] Returns the object in the form of hash
231
- def to_hash
232
- hash = {}
233
- self.class.attribute_map.each_pair do |attr, param|
234
- value = self.send(attr)
235
- if value.nil?
236
- is_nullable = self.class.openapi_nullable.include?(attr)
237
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
238
- end
239
-
240
- hash[param] = _to_hash(value)
241
- end
242
- hash
243
- end
244
-
245
- # Outputs non-array value in the form of hash
246
- # For object, use to_hash. Otherwise, just return the value
247
- # @param [Object] value Any valid value
248
- # @return [Hash] Returns the value in the form of hash
249
- def _to_hash(value)
250
- if value.is_a?(Array)
251
- value.compact.map { |v| _to_hash(v) }
252
- elsif value.is_a?(Hash)
253
- {}.tap do |hash|
254
- value.each { |k, v| hash[k] = _to_hash(v) }
255
- end
256
- elsif value.respond_to? :to_hash
257
- value.to_hash
258
- else
259
- value
260
- end
261
- end
262
-
263
- end
264
-
265
- end
@@ -1,302 +0,0 @@
1
- =begin
2
- #Moderation API
3
-
4
- #API for automated content moderation
5
-
6
- The version of the OpenAPI document: 1.0.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- Generator version: 7.10.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module ModerationApi
17
- class ModerationVideoRequest
18
- # The URL of the video you want to analyze.
19
- attr_accessor :url
20
-
21
- # The unique ID of the content in your database.
22
- attr_accessor :content_id
23
-
24
- # Do not store the content. The content won't enter the review queue
25
- attr_accessor :do_not_store
26
-
27
- # The author of the content.
28
- attr_accessor :author_id
29
-
30
- # For example the ID of a chat room or a post
31
- attr_accessor :context_id
32
-
33
- # Any metadata you want to store with the content
34
- attr_accessor :metadata
35
-
36
- # Attribute mapping from ruby-style variable name to JSON key.
37
- def self.attribute_map
38
- {
39
- :'url' => :'url',
40
- :'content_id' => :'contentId',
41
- :'do_not_store' => :'doNotStore',
42
- :'author_id' => :'authorId',
43
- :'context_id' => :'contextId',
44
- :'metadata' => :'metadata'
45
- }
46
- end
47
-
48
- # Returns all the JSON keys this model knows about
49
- def self.acceptable_attributes
50
- attribute_map.values
51
- end
52
-
53
- # Attribute type mapping.
54
- def self.openapi_types
55
- {
56
- :'url' => :'String',
57
- :'content_id' => :'String',
58
- :'do_not_store' => :'Boolean',
59
- :'author_id' => :'String',
60
- :'context_id' => :'String',
61
- :'metadata' => :'Hash<String, Object>'
62
- }
63
- end
64
-
65
- # List of attributes with nullable: true
66
- def self.openapi_nullable
67
- Set.new([
68
- ])
69
- end
70
-
71
- # Initializes the object
72
- # @param [Hash] attributes Model attributes in the form of hash
73
- def initialize(attributes = {})
74
- if (!attributes.is_a?(Hash))
75
- fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationVideoRequest` initialize method"
76
- end
77
-
78
- # check to see if the attribute exists and convert string to symbol for hash key
79
- attributes = attributes.each_with_object({}) { |(k, v), h|
80
- if (!self.class.attribute_map.key?(k.to_sym))
81
- fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationVideoRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
- end
83
- h[k.to_sym] = v
84
- }
85
-
86
- if attributes.key?(:'url')
87
- self.url = attributes[:'url']
88
- else
89
- self.url = nil
90
- end
91
-
92
- if attributes.key?(:'content_id')
93
- self.content_id = attributes[:'content_id']
94
- end
95
-
96
- if attributes.key?(:'do_not_store')
97
- self.do_not_store = attributes[:'do_not_store']
98
- end
99
-
100
- if attributes.key?(:'author_id')
101
- self.author_id = attributes[:'author_id']
102
- end
103
-
104
- if attributes.key?(:'context_id')
105
- self.context_id = attributes[:'context_id']
106
- end
107
-
108
- if attributes.key?(:'metadata')
109
- if (value = attributes[:'metadata']).is_a?(Hash)
110
- self.metadata = value
111
- end
112
- end
113
- end
114
-
115
- # Show invalid properties with the reasons. Usually used together with valid?
116
- # @return Array for valid properties with the reasons
117
- def list_invalid_properties
118
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
119
- invalid_properties = Array.new
120
- if @url.nil?
121
- invalid_properties.push('invalid value for "url", url cannot be nil.')
122
- end
123
-
124
- if !@content_id.nil? && @content_id.to_s.length > 100
125
- invalid_properties.push('invalid value for "content_id", the character length must be smaller than or equal to 100.')
126
- end
127
-
128
- if !@content_id.nil? && @content_id.to_s.length < 1
129
- invalid_properties.push('invalid value for "content_id", the character length must be great than or equal to 1.')
130
- end
131
-
132
- invalid_properties
133
- end
134
-
135
- # Check to see if the all the properties in the model are valid
136
- # @return true if the model is valid
137
- def valid?
138
- warn '[DEPRECATED] the `valid?` method is obsolete'
139
- return false if @url.nil?
140
- return false if !@content_id.nil? && @content_id.to_s.length > 100
141
- return false if !@content_id.nil? && @content_id.to_s.length < 1
142
- true
143
- end
144
-
145
- # Custom attribute writer method with validation
146
- # @param [Object] content_id Value to be assigned
147
- def content_id=(content_id)
148
- if content_id.nil?
149
- fail ArgumentError, 'content_id cannot be nil'
150
- end
151
-
152
- if content_id.to_s.length > 100
153
- fail ArgumentError, 'invalid value for "content_id", the character length must be smaller than or equal to 100.'
154
- end
155
-
156
- if content_id.to_s.length < 1
157
- fail ArgumentError, 'invalid value for "content_id", the character length must be great than or equal to 1.'
158
- end
159
-
160
- @content_id = content_id
161
- end
162
-
163
- # Checks equality by comparing each attribute.
164
- # @param [Object] Object to be compared
165
- def ==(o)
166
- return true if self.equal?(o)
167
- self.class == o.class &&
168
- url == o.url &&
169
- content_id == o.content_id &&
170
- do_not_store == o.do_not_store &&
171
- author_id == o.author_id &&
172
- context_id == o.context_id &&
173
- metadata == o.metadata
174
- end
175
-
176
- # @see the `==` method
177
- # @param [Object] Object to be compared
178
- def eql?(o)
179
- self == o
180
- end
181
-
182
- # Calculates hash code according to all attributes.
183
- # @return [Integer] Hash code
184
- def hash
185
- [url, content_id, do_not_store, author_id, context_id, metadata].hash
186
- end
187
-
188
- # Builds the object from hash
189
- # @param [Hash] attributes Model attributes in the form of hash
190
- # @return [Object] Returns the model itself
191
- def self.build_from_hash(attributes)
192
- return nil unless attributes.is_a?(Hash)
193
- attributes = attributes.transform_keys(&:to_sym)
194
- transformed_hash = {}
195
- openapi_types.each_pair do |key, type|
196
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
197
- transformed_hash["#{key}"] = nil
198
- elsif type =~ /\AArray<(.*)>/i
199
- # check to ensure the input is an array given that the attribute
200
- # is documented as an array but the input is not
201
- if attributes[attribute_map[key]].is_a?(Array)
202
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
203
- end
204
- elsif !attributes[attribute_map[key]].nil?
205
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
206
- end
207
- end
208
- new(transformed_hash)
209
- end
210
-
211
- # Deserializes the data based on type
212
- # @param string type Data type
213
- # @param string value Value to be deserialized
214
- # @return [Object] Deserialized data
215
- def self._deserialize(type, value)
216
- case type.to_sym
217
- when :Time
218
- Time.parse(value)
219
- when :Date
220
- Date.parse(value)
221
- when :String
222
- value.to_s
223
- when :Integer
224
- value.to_i
225
- when :Float
226
- value.to_f
227
- when :Boolean
228
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
229
- true
230
- else
231
- false
232
- end
233
- when :Object
234
- # generic object (usually a Hash), return directly
235
- value
236
- when /\AArray<(?<inner_type>.+)>\z/
237
- inner_type = Regexp.last_match[:inner_type]
238
- value.map { |v| _deserialize(inner_type, v) }
239
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
240
- k_type = Regexp.last_match[:k_type]
241
- v_type = Regexp.last_match[:v_type]
242
- {}.tap do |hash|
243
- value.each do |k, v|
244
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
245
- end
246
- end
247
- else # model
248
- # models (e.g. Pet) or oneOf
249
- klass = ModerationApi.const_get(type)
250
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
251
- end
252
- end
253
-
254
- # Returns the string representation of the object
255
- # @return [String] String presentation of the object
256
- def to_s
257
- to_hash.to_s
258
- end
259
-
260
- # to_body is an alias to to_hash (backward compatibility)
261
- # @return [Hash] Returns the object in the form of hash
262
- def to_body
263
- to_hash
264
- end
265
-
266
- # Returns the object in the form of hash
267
- # @return [Hash] Returns the object in the form of hash
268
- def to_hash
269
- hash = {}
270
- self.class.attribute_map.each_pair do |attr, param|
271
- value = self.send(attr)
272
- if value.nil?
273
- is_nullable = self.class.openapi_nullable.include?(attr)
274
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
275
- end
276
-
277
- hash[param] = _to_hash(value)
278
- end
279
- hash
280
- end
281
-
282
- # Outputs non-array value in the form of hash
283
- # For object, use to_hash. Otherwise, just return the value
284
- # @param [Object] value Any valid value
285
- # @return [Hash] Returns the value in the form of hash
286
- def _to_hash(value)
287
- if value.is_a?(Array)
288
- value.compact.map { |v| _to_hash(v) }
289
- elsif value.is_a?(Hash)
290
- {}.tap do |hash|
291
- value.each { |k, v| hash[k] = _to_hash(v) }
292
- end
293
- elsif value.respond_to? :to_hash
294
- value.to_hash
295
- else
296
- value
297
- end
298
- end
299
-
300
- end
301
-
302
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require 'openssl'
5
-
6
- module ModerationApi
7
- class Webhook
8
- class SignatureVerificationError < StandardError; end
9
-
10
- # This method attempts to verify the webhook signature from Moderation API.
11
- # payload: The raw request body
12
- # sig_header: The 'HTTP_MODAPI_SIGNATURE' header from the request
13
- # secret: Your webhook signing secret
14
- #
15
- def self.construct_event(payload, sig_header, secret)
16
- # Verify the signature
17
- digest = OpenSSL::Digest.new('sha256')
18
- signed = OpenSSL::HMAC.hexdigest(digest, secret, payload)
19
-
20
- if secure_compare(signed, sig_header)
21
- JSON.parse(payload, symbolize_names: true)
22
- else
23
- raise SignatureVerificationError, 'Signature verification failed'
24
- end
25
- end
26
-
27
- private
28
-
29
- # Compares the signature in a way that mitigates timing attacks
30
- #
31
- def self.secure_compare(a, b)
32
- return false unless a.bytesize == b.bytesize
33
-
34
- l = a.unpack "C#{a.bytesize}"
35
-
36
- res = 0
37
- b.each_byte { |byte| res |= byte ^ l.shift }
38
- res == 0
39
- end
40
- end
41
- end
Binary file
Binary file
@@ -1,45 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- =begin
4
- #Moderation API
5
-
6
- #API for automated content moderation
7
-
8
- The version of the OpenAPI document: 1.0.0
9
-
10
- Generated by: https://openapi-generator.tech
11
- Generator version: 7.10.0
12
-
13
- =end
14
-
15
- $:.push File.expand_path("../lib", __FILE__)
16
- require "moderation_api/version"
17
-
18
- Gem::Specification.new do |s|
19
- s.name = "moderation_api"
20
- s.version = ModerationApi::VERSION
21
- s.platform = Gem::Platform::RUBY
22
- s.authors = ["Moderation API"]
23
- s.email = ["info@moderationapi.com"]
24
- s.homepage = "https://moderationapi.com"
25
- s.summary = "A Ruby SDK for the Moderation API - content moderation, PII detection, and text analysis"
26
- s.description = "Automatically moderate your content with Moderation API"
27
- s.license = "MIT"
28
- s.required_ruby_version = ">= 3.0"
29
- s.metadata = {
30
- "homepage_uri" => "https://moderationapi.com",
31
- "source_code_uri" => "https://github.com/moderation-api/moderation-api-ruby-client",
32
- "documentation_uri" => "https://docs.moderationapi.com"
33
- }
34
-
35
- s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
36
- s.add_runtime_dependency 'faraday-multipart'
37
- s.add_runtime_dependency 'marcel'
38
-
39
- s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
40
-
41
- s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
42
- s.test_files = `find spec/*`.split("\n")
43
- s.executables = []
44
- s.require_paths = ["lib"]
45
- end
data/ruby_config.yaml DELETED
@@ -1,30 +0,0 @@
1
- # Basic gem information
2
- gemName: moderation_api
3
- gemVersion: 1.2.2
4
- moduleName: ModerationApi
5
- gemAuthor: Moderation API
6
- gemAuthorEmail: info@moderationapi.com
7
- gemDescription: Automatically moderate your content with Moderation API
8
- gemSummary: A Ruby SDK for the Moderation API - content moderation, PII detection, and text analysis
9
- gemHomepage: https://moderationapi.com
10
- gemLicense: MIT
11
-
12
- # HTTP client library
13
- library: faraday
14
-
15
- # Ruby version requirement
16
- gemRequiredRubyVersion: ">= 3.0"
17
-
18
- # Additional settings
19
- sortParamsByRequiredFlag: true
20
- sortModelPropertiesByRequiredFlag: true
21
- hideGenerationTimestamp: true
22
- useAutoload: true
23
-
24
- # API behavior settings
25
- ensureUniqueParams: true
26
- enumUnknownDefaultCase: true
27
- legacyDiscriminatorBehavior: false
28
-
29
- # Metadata as a string
30
- gemMetadata: '{"tags": ["moderation", "detect", "pii", "content_moderation", "filtering", "api", "automation", "content", "toxic", "nsfw", "analysis", "nlp", "text_analysis", "sentiment", "spam", "image_moderation", "text_moderation"]}'