x_api_scraper 0.1.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 (459) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/enum.rbi +17 -0
  3. data/lib/crystalline/metadata_fields.rb +265 -0
  4. data/lib/crystalline/module.rb +188 -0
  5. data/lib/crystalline/types.rb +170 -0
  6. data/lib/crystalline/utils.rb +69 -0
  7. data/lib/crystalline.rb +13 -0
  8. data/lib/x_api_scraper.rb +41 -0
  9. data/lib/xapi_scraper/account.rb +194 -0
  10. data/lib/xapi_scraper/actions.rb +2166 -0
  11. data/lib/xapi_scraper/analysis.rb +230 -0
  12. data/lib/xapi_scraper/articles.rb +410 -0
  13. data/lib/xapi_scraper/client.rb +133 -0
  14. data/lib/xapi_scraper/communities.rb +1352 -0
  15. data/lib/xapi_scraper/dm.rb +990 -0
  16. data/lib/xapi_scraper/engagement.rb +792 -0
  17. data/lib/xapi_scraper/followers.rb +420 -0
  18. data/lib/xapi_scraper/following.rb +230 -0
  19. data/lib/xapi_scraper/lists.rb +1156 -0
  20. data/lib/xapi_scraper/models/callbacks.rb +12 -0
  21. data/lib/xapi_scraper/models/components/accountverifymodel.rb +82 -0
  22. data/lib/xapi_scraper/models/components/accountverifymodel.rbi +38 -0
  23. data/lib/xapi_scraper/models/components/accountverifyresponse.rb +47 -0
  24. data/lib/xapi_scraper/models/components/accountverifyresponse.rbi +26 -0
  25. data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rb +51 -0
  26. data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rbi +26 -0
  27. data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rb +76 -0
  28. data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rbi +38 -0
  29. data/lib/xapi_scraper/models/components/articleblock.rb +50 -0
  30. data/lib/xapi_scraper/models/components/articleblock.rbi +26 -0
  31. data/lib/xapi_scraper/models/components/articleblockrange.rb +47 -0
  32. data/lib/xapi_scraper/models/components/articleblockrange.rbi +26 -0
  33. data/lib/xapi_scraper/models/components/blockuserresponse.rb +54 -0
  34. data/lib/xapi_scraper/models/components/blockuserresponse.rbi +26 -0
  35. data/lib/xapi_scraper/models/components/bookmarkbody.rb +43 -0
  36. data/lib/xapi_scraper/models/components/bookmarkbody.rbi +20 -0
  37. data/lib/xapi_scraper/models/components/cashtagsquery.rb +192 -0
  38. data/lib/xapi_scraper/models/components/cashtagsquery.rbi +98 -0
  39. data/lib/xapi_scraper/models/components/cashtagsquery_language.rb +76 -0
  40. data/lib/xapi_scraper/models/components/cashtagsquery_language.rbi +9 -0
  41. data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rb +18 -0
  42. data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rbi +9 -0
  43. data/lib/xapi_scraper/models/components/communitymodel.rb +164 -0
  44. data/lib/xapi_scraper/models/components/communitymodel.rbi +92 -0
  45. data/lib/xapi_scraper/models/components/communitytweetsresponse.rb +47 -0
  46. data/lib/xapi_scraper/models/components/communitytweetsresponse.rbi +26 -0
  47. data/lib/xapi_scraper/models/components/context.rb +25 -0
  48. data/lib/xapi_scraper/models/components/context.rbi +9 -0
  49. data/lib/xapi_scraper/models/components/conversationv3model.rb +57 -0
  50. data/lib/xapi_scraper/models/components/conversationv3model.rbi +32 -0
  51. data/lib/xapi_scraper/models/components/createthreaddata.rb +35 -0
  52. data/lib/xapi_scraper/models/components/createthreaddata.rbi +14 -0
  53. data/lib/xapi_scraper/models/components/createthreadquery.rb +51 -0
  54. data/lib/xapi_scraper/models/components/createthreadquery.rbi +26 -0
  55. data/lib/xapi_scraper/models/components/createthreadresponse.rb +47 -0
  56. data/lib/xapi_scraper/models/components/createthreadresponse.rbi +26 -0
  57. data/lib/xapi_scraper/models/components/createthreadtweetitem.rb +31 -0
  58. data/lib/xapi_scraper/models/components/createthreadtweetitem.rbi +14 -0
  59. data/lib/xapi_scraper/models/components/deletebookmarkquery.rb +35 -0
  60. data/lib/xapi_scraper/models/components/deletebookmarkquery.rbi +14 -0
  61. data/lib/xapi_scraper/models/components/deleteretweetquery.rb +35 -0
  62. data/lib/xapi_scraper/models/components/deleteretweetquery.rbi +14 -0
  63. data/lib/xapi_scraper/models/components/deletetweetquery.rb +51 -0
  64. data/lib/xapi_scraper/models/components/deletetweetquery.rbi +26 -0
  65. data/lib/xapi_scraper/models/components/deletetweetresponse.rb +51 -0
  66. data/lib/xapi_scraper/models/components/deletetweetresponse.rbi +26 -0
  67. data/lib/xapi_scraper/models/components/dmhistoryv3data.rb +54 -0
  68. data/lib/xapi_scraper/models/components/dmhistoryv3data.rbi +26 -0
  69. data/lib/xapi_scraper/models/components/dmstatusmodelv2.rb +122 -0
  70. data/lib/xapi_scraper/models/components/dmstatusmodelv2.rbi +62 -0
  71. data/lib/xapi_scraper/models/components/dmstatusresponsev2.rb +47 -0
  72. data/lib/xapi_scraper/models/components/dmstatusresponsev2.rbi +26 -0
  73. data/lib/xapi_scraper/models/components/followersfollowingv3query.rb +51 -0
  74. data/lib/xapi_scraper/models/components/followersfollowingv3query.rbi +26 -0
  75. data/lib/xapi_scraper/models/components/followuserquery.rb +43 -0
  76. data/lib/xapi_scraper/models/components/followuserquery.rbi +20 -0
  77. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rb +43 -0
  78. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rbi +20 -0
  79. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rb +76 -0
  80. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rbi +38 -0
  81. data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rb +43 -0
  82. data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rbi +20 -0
  83. data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rb +72 -0
  84. data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rbi +38 -0
  85. data/lib/xapi_scraper/models/components/getcommunityresponse.rb +47 -0
  86. data/lib/xapi_scraper/models/components/getcommunityresponse.rbi +26 -0
  87. data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rb +60 -0
  88. data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rbi +26 -0
  89. data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rb +72 -0
  90. data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rbi +38 -0
  91. data/lib/xapi_scraper/models/components/getconversationsv3query.rb +62 -0
  92. data/lib/xapi_scraper/models/components/getconversationsv3query.rbi +32 -0
  93. data/lib/xapi_scraper/models/components/getconversationsv3response.rb +47 -0
  94. data/lib/xapi_scraper/models/components/getconversationsv3response.rbi +26 -0
  95. data/lib/xapi_scraper/models/components/getdmhistoryv3query.rb +94 -0
  96. data/lib/xapi_scraper/models/components/getdmhistoryv3query.rbi +50 -0
  97. data/lib/xapi_scraper/models/components/getdmhistoryv3response.rb +47 -0
  98. data/lib/xapi_scraper/models/components/getdmhistoryv3response.rbi +26 -0
  99. data/lib/xapi_scraper/models/components/getdmmediav3data.rb +77 -0
  100. data/lib/xapi_scraper/models/components/getdmmediav3data.rbi +44 -0
  101. data/lib/xapi_scraper/models/components/getdmmediav3query.rb +112 -0
  102. data/lib/xapi_scraper/models/components/getdmmediav3query.rbi +56 -0
  103. data/lib/xapi_scraper/models/components/getdmmediav3response.rb +47 -0
  104. data/lib/xapi_scraper/models/components/getdmmediav3response.rbi +26 -0
  105. data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rb +43 -0
  106. data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rbi +20 -0
  107. data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rb +72 -0
  108. data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rbi +38 -0
  109. data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rb +43 -0
  110. data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rbi +20 -0
  111. data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rb +72 -0
  112. data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rbi +38 -0
  113. data/lib/xapi_scraper/models/components/getquotescursorquery.rb +63 -0
  114. data/lib/xapi_scraper/models/components/getquotescursorquery.rbi +26 -0
  115. data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rb +18 -0
  116. data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rbi +9 -0
  117. data/lib/xapi_scraper/models/components/getquotescursorresponse.rb +72 -0
  118. data/lib/xapi_scraper/models/components/getquotescursorresponse.rbi +38 -0
  119. data/lib/xapi_scraper/models/components/getquotesquery.rb +59 -0
  120. data/lib/xapi_scraper/models/components/getquotesquery.rbi +26 -0
  121. data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rb +18 -0
  122. data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rbi +9 -0
  123. data/lib/xapi_scraper/models/components/getquotesresponse.rb +47 -0
  124. data/lib/xapi_scraper/models/components/getquotesresponse.rbi +26 -0
  125. data/lib/xapi_scraper/models/components/getrepliespagequery.rb +51 -0
  126. data/lib/xapi_scraper/models/components/getrepliespagequery.rbi +20 -0
  127. data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rb +19 -0
  128. data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rbi +9 -0
  129. data/lib/xapi_scraper/models/components/getrepliespageresponse.rb +85 -0
  130. data/lib/xapi_scraper/models/components/getrepliespageresponse.rbi +44 -0
  131. data/lib/xapi_scraper/models/components/getretweeterscursorquery.rb +43 -0
  132. data/lib/xapi_scraper/models/components/getretweeterscursorquery.rbi +20 -0
  133. data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rb +72 -0
  134. data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rbi +38 -0
  135. data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rb +58 -0
  136. data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rbi +26 -0
  137. data/lib/xapi_scraper/models/components/hashtagsquery.rb +192 -0
  138. data/lib/xapi_scraper/models/components/hashtagsquery.rbi +98 -0
  139. data/lib/xapi_scraper/models/components/hashtagsquery_language.rb +76 -0
  140. data/lib/xapi_scraper/models/components/hashtagsquery_language.rbi +9 -0
  141. data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rb +18 -0
  142. data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rbi +9 -0
  143. data/lib/xapi_scraper/models/components/likeactionbody.rb +43 -0
  144. data/lib/xapi_scraper/models/components/likeactionbody.rbi +20 -0
  145. data/lib/xapi_scraper/models/components/listmembersresponse.rb +47 -0
  146. data/lib/xapi_scraper/models/components/listmembersresponse.rbi +26 -0
  147. data/lib/xapi_scraper/models/components/listmodel.rb +77 -0
  148. data/lib/xapi_scraper/models/components/listmodel.rbi +44 -0
  149. data/lib/xapi_scraper/models/components/listsubscribersresponse.rb +47 -0
  150. data/lib/xapi_scraper/models/components/listsubscribersresponse.rbi +26 -0
  151. data/lib/xapi_scraper/models/components/listtweetsresponse.rb +47 -0
  152. data/lib/xapi_scraper/models/components/listtweetsresponse.rbi +26 -0
  153. data/lib/xapi_scraper/models/components/loc.rb +25 -0
  154. data/lib/xapi_scraper/models/components/loc.rbi +9 -0
  155. data/lib/xapi_scraper/models/components/mediamodel.rb +194 -0
  156. data/lib/xapi_scraper/models/components/mediamodel.rbi +110 -0
  157. data/lib/xapi_scraper/models/components/messagemodel.rb +100 -0
  158. data/lib/xapi_scraper/models/components/messagemodel.rbi +56 -0
  159. data/lib/xapi_scraper/models/components/posttweetdata.rb +51 -0
  160. data/lib/xapi_scraper/models/components/posttweetdata.rbi +26 -0
  161. data/lib/xapi_scraper/models/components/posttweetquery.rb +122 -0
  162. data/lib/xapi_scraper/models/components/posttweetquery.rbi +62 -0
  163. data/lib/xapi_scraper/models/components/posttweetresponse.rb +58 -0
  164. data/lib/xapi_scraper/models/components/posttweetresponse.rbi +26 -0
  165. data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rb +102 -0
  166. data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rbi +50 -0
  167. data/lib/xapi_scraper/models/components/quotetweetquery.rb +112 -0
  168. data/lib/xapi_scraper/models/components/quotetweetquery.rbi +56 -0
  169. data/lib/xapi_scraper/models/components/retweetactionbody.rb +43 -0
  170. data/lib/xapi_scraper/models/components/retweetactionbody.rbi +20 -0
  171. data/lib/xapi_scraper/models/components/searchcommunityquery.rb +43 -0
  172. data/lib/xapi_scraper/models/components/searchcommunityquery.rbi +20 -0
  173. data/lib/xapi_scraper/models/components/searchcommunityresponse.rb +47 -0
  174. data/lib/xapi_scraper/models/components/searchcommunityresponse.rbi +26 -0
  175. data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rb +51 -0
  176. data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rbi +26 -0
  177. data/lib/xapi_scraper/models/components/searchlistquery.rb +43 -0
  178. data/lib/xapi_scraper/models/components/searchlistquery.rbi +20 -0
  179. data/lib/xapi_scraper/models/components/searchlistresponse.rb +47 -0
  180. data/lib/xapi_scraper/models/components/searchlistresponse.rbi +26 -0
  181. data/lib/xapi_scraper/models/components/searchresponse.rb +54 -0
  182. data/lib/xapi_scraper/models/components/searchresponse.rbi +26 -0
  183. data/lib/xapi_scraper/models/components/searchuserresponse.rb +47 -0
  184. data/lib/xapi_scraper/models/components/searchuserresponse.rbi +26 -0
  185. data/lib/xapi_scraper/models/components/security.rb +34 -0
  186. data/lib/xapi_scraper/models/components/security.rbi +14 -0
  187. data/lib/xapi_scraper/models/components/senddmresponse.rb +47 -0
  188. data/lib/xapi_scraper/models/components/senddmresponse.rbi +26 -0
  189. data/lib/xapi_scraper/models/components/senddmv3query.rb +90 -0
  190. data/lib/xapi_scraper/models/components/senddmv3query.rbi +50 -0
  191. data/lib/xapi_scraper/models/components/sentimentanalysismodel.rb +43 -0
  192. data/lib/xapi_scraper/models/components/sentimentanalysismodel.rbi +20 -0
  193. data/lib/xapi_scraper/models/components/sentimentanalysisquery.rb +31 -0
  194. data/lib/xapi_scraper/models/components/sentimentanalysisquery.rbi +14 -0
  195. data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rb +47 -0
  196. data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rbi +26 -0
  197. data/lib/xapi_scraper/models/components/standardresponse.rb +47 -0
  198. data/lib/xapi_scraper/models/components/standardresponse.rbi +26 -0
  199. data/lib/xapi_scraper/models/components/streammodel.rb +51 -0
  200. data/lib/xapi_scraper/models/components/streammodel.rbi +26 -0
  201. data/lib/xapi_scraper/models/components/tweet_type.rb +19 -0
  202. data/lib/xapi_scraper/models/components/tweet_type.rbi +9 -0
  203. data/lib/xapi_scraper/models/components/tweetactionresponse.rb +51 -0
  204. data/lib/xapi_scraper/models/components/tweetactionresponse.rbi +26 -0
  205. data/lib/xapi_scraper/models/components/tweetmodel.rb +518 -0
  206. data/lib/xapi_scraper/models/components/tweetmodel.rbi +302 -0
  207. data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rb +53 -0
  208. data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rbi +26 -0
  209. data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rb +58 -0
  210. data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rbi +26 -0
  211. data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rb +208 -0
  212. data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rbi +116 -0
  213. data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rb +58 -0
  214. data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rbi +26 -0
  215. data/lib/xapi_scraper/models/components/unfavoritetweetquery.rb +35 -0
  216. data/lib/xapi_scraper/models/components/unfavoritetweetquery.rbi +14 -0
  217. data/lib/xapi_scraper/models/components/unfollowuserquery.rb +43 -0
  218. data/lib/xapi_scraper/models/components/unfollowuserquery.rbi +20 -0
  219. data/lib/xapi_scraper/models/components/unfollowuserresponse.rb +47 -0
  220. data/lib/xapi_scraper/models/components/unfollowuserresponse.rbi +26 -0
  221. data/lib/xapi_scraper/models/components/urlmodel.rb +47 -0
  222. data/lib/xapi_scraper/models/components/urlmodel.rbi +26 -0
  223. data/lib/xapi_scraper/models/components/userinfo.rb +348 -0
  224. data/lib/xapi_scraper/models/components/userinfo.rbi +200 -0
  225. data/lib/xapi_scraper/models/components/usermodel.rb +344 -0
  226. data/lib/xapi_scraper/models/components/usermodel.rbi +200 -0
  227. data/lib/xapi_scraper/models/components/usersdetailsresponse.rb +47 -0
  228. data/lib/xapi_scraper/models/components/usersdetailsresponse.rbi +26 -0
  229. data/lib/xapi_scraper/models/components/usertimelinefillquery.rb +35 -0
  230. data/lib/xapi_scraper/models/components/usertimelinefillquery.rbi +14 -0
  231. data/lib/xapi_scraper/models/components/usertimelinepagequery.rb +43 -0
  232. data/lib/xapi_scraper/models/components/usertimelinepagequery.rbi +20 -0
  233. data/lib/xapi_scraper/models/components/usertimelinepageresponse.rb +112 -0
  234. data/lib/xapi_scraper/models/components/usertimelinepageresponse.rbi +56 -0
  235. data/lib/xapi_scraper/models/components/usertimelineresponse.rb +76 -0
  236. data/lib/xapi_scraper/models/components/usertimelineresponse.rbi +38 -0
  237. data/lib/xapi_scraper/models/components/usertweetitem.rb +225 -0
  238. data/lib/xapi_scraper/models/components/usertweetitem.rbi +122 -0
  239. data/lib/xapi_scraper/models/components/validationerror.rb +67 -0
  240. data/lib/xapi_scraper/models/components/validationerror.rbi +38 -0
  241. data/lib/xapi_scraper/models/components/verifiedfollowersdata.rb +58 -0
  242. data/lib/xapi_scraper/models/components/verifiedfollowersdata.rbi +26 -0
  243. data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rb +47 -0
  244. data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rbi +26 -0
  245. data/lib/xapi_scraper/models/components/xarticlemodel.rb +305 -0
  246. data/lib/xapi_scraper/models/components/xarticlemodel.rbi +170 -0
  247. data/lib/xapi_scraper/models/components/xarticleresponse.rb +47 -0
  248. data/lib/xapi_scraper/models/components/xarticleresponse.rbi +26 -0
  249. data/lib/xapi_scraper/models/components.rb +128 -0
  250. data/lib/xapi_scraper/models/errors/apierror.rb +39 -0
  251. data/lib/xapi_scraper/models/errors/apierror.rbi +27 -0
  252. data/lib/xapi_scraper/models/errors/httpvalidationerror.rb +48 -0
  253. data/lib/xapi_scraper/models/errors/httpvalidationerror.rbi +20 -0
  254. data/lib/xapi_scraper/models/errors.rb +13 -0
  255. data/lib/xapi_scraper/models/operations/accountgetbalance_response.rb +51 -0
  256. data/lib/xapi_scraper/models/operations/accountgetbalance_response.rbi +32 -0
  257. data/lib/xapi_scraper/models/operations/analysissentiment_response.rb +51 -0
  258. data/lib/xapi_scraper/models/operations/analysissentiment_response.rbi +32 -0
  259. data/lib/xapi_scraper/models/operations/articlesfetch_response.rb +51 -0
  260. data/lib/xapi_scraper/models/operations/articlesfetch_response.rbi +32 -0
  261. data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rb +31 -0
  262. data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rbi +14 -0
  263. data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rb +51 -0
  264. data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rbi +32 -0
  265. data/lib/xapi_scraper/models/operations/communitiesget_request.rb +34 -0
  266. data/lib/xapi_scraper/models/operations/communitiesget_request.rbi +14 -0
  267. data/lib/xapi_scraper/models/operations/communitiesget_response.rb +51 -0
  268. data/lib/xapi_scraper/models/operations/communitiesget_response.rbi +32 -0
  269. data/lib/xapi_scraper/models/operations/communitiesmembers_request.rb +42 -0
  270. data/lib/xapi_scraper/models/operations/communitiesmembers_request.rbi +20 -0
  271. data/lib/xapi_scraper/models/operations/communitiesmembers_response.rb +51 -0
  272. data/lib/xapi_scraper/models/operations/communitiesmembers_response.rbi +32 -0
  273. data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rb +54 -0
  274. data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rbi +32 -0
  275. data/lib/xapi_scraper/models/operations/communitiessearch_response.rb +51 -0
  276. data/lib/xapi_scraper/models/operations/communitiessearch_response.rbi +32 -0
  277. data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rb +51 -0
  278. data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rbi +32 -0
  279. data/lib/xapi_scraper/models/operations/communitiestweets_request.rb +50 -0
  280. data/lib/xapi_scraper/models/operations/communitiestweets_request.rbi +26 -0
  281. data/lib/xapi_scraper/models/operations/communitiestweets_response.rb +51 -0
  282. data/lib/xapi_scraper/models/operations/communitiestweets_response.rbi +32 -0
  283. data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rb +54 -0
  284. data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rbi +32 -0
  285. data/lib/xapi_scraper/models/operations/country.rb +79 -0
  286. data/lib/xapi_scraper/models/operations/country.rbi +9 -0
  287. data/lib/xapi_scraper/models/operations/dmconversations_response.rb +51 -0
  288. data/lib/xapi_scraper/models/operations/dmconversations_response.rbi +32 -0
  289. data/lib/xapi_scraper/models/operations/dmhistory_response.rb +51 -0
  290. data/lib/xapi_scraper/models/operations/dmhistory_response.rbi +32 -0
  291. data/lib/xapi_scraper/models/operations/dmmedia_response.rb +51 -0
  292. data/lib/xapi_scraper/models/operations/dmmedia_response.rbi +32 -0
  293. data/lib/xapi_scraper/models/operations/dmsend_response.rb +51 -0
  294. data/lib/xapi_scraper/models/operations/dmsend_response.rbi +32 -0
  295. data/lib/xapi_scraper/models/operations/dmstatus_response.rb +51 -0
  296. data/lib/xapi_scraper/models/operations/dmstatus_response.rbi +32 -0
  297. data/lib/xapi_scraper/models/operations/listsmembers_request.rb +38 -0
  298. data/lib/xapi_scraper/models/operations/listsmembers_request.rbi +20 -0
  299. data/lib/xapi_scraper/models/operations/listsmembers_response.rb +51 -0
  300. data/lib/xapi_scraper/models/operations/listsmembers_response.rbi +32 -0
  301. data/lib/xapi_scraper/models/operations/listsmemberspage_response.rb +54 -0
  302. data/lib/xapi_scraper/models/operations/listsmemberspage_response.rbi +32 -0
  303. data/lib/xapi_scraper/models/operations/listssearch_response.rb +51 -0
  304. data/lib/xapi_scraper/models/operations/listssearch_response.rbi +32 -0
  305. data/lib/xapi_scraper/models/operations/listssubscribers_request.rb +38 -0
  306. data/lib/xapi_scraper/models/operations/listssubscribers_request.rbi +20 -0
  307. data/lib/xapi_scraper/models/operations/listssubscribers_response.rb +51 -0
  308. data/lib/xapi_scraper/models/operations/listssubscribers_response.rbi +32 -0
  309. data/lib/xapi_scraper/models/operations/liststweets_request.rb +38 -0
  310. data/lib/xapi_scraper/models/operations/liststweets_request.rbi +20 -0
  311. data/lib/xapi_scraper/models/operations/liststweets_response.rb +51 -0
  312. data/lib/xapi_scraper/models/operations/liststweets_response.rbi +32 -0
  313. data/lib/xapi_scraper/models/operations/liststweetspage_response.rb +54 -0
  314. data/lib/xapi_scraper/models/operations/liststweetspage_response.rbi +32 -0
  315. data/lib/xapi_scraper/models/operations/searchadvanced_response.rb +54 -0
  316. data/lib/xapi_scraper/models/operations/searchadvanced_response.rbi +32 -0
  317. data/lib/xapi_scraper/models/operations/searchcashtags_response.rb +51 -0
  318. data/lib/xapi_scraper/models/operations/searchcashtags_response.rbi +32 -0
  319. data/lib/xapi_scraper/models/operations/searchhashtags_response.rb +51 -0
  320. data/lib/xapi_scraper/models/operations/searchhashtags_response.rbi +32 -0
  321. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rb +35 -0
  322. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rbi +20 -0
  323. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rb +51 -0
  324. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rbi +32 -0
  325. data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rb +54 -0
  326. data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rbi +32 -0
  327. data/lib/xapi_scraper/models/operations/timelinesuser_request.rb +35 -0
  328. data/lib/xapi_scraper/models/operations/timelinesuser_request.rbi +20 -0
  329. data/lib/xapi_scraper/models/operations/timelinesuser_response.rb +51 -0
  330. data/lib/xapi_scraper/models/operations/timelinesuser_response.rbi +32 -0
  331. data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rb +35 -0
  332. data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rbi +20 -0
  333. data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rb +51 -0
  334. data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rbi +32 -0
  335. data/lib/xapi_scraper/models/operations/trendingbycountry_request.rb +35 -0
  336. data/lib/xapi_scraper/models/operations/trendingbycountry_request.rbi +14 -0
  337. data/lib/xapi_scraper/models/operations/trendingbycountry_response.rb +51 -0
  338. data/lib/xapi_scraper/models/operations/trendingbycountry_response.rbi +32 -0
  339. data/lib/xapi_scraper/models/operations/trendingcontents_request.rb +35 -0
  340. data/lib/xapi_scraper/models/operations/trendingcontents_request.rbi +20 -0
  341. data/lib/xapi_scraper/models/operations/trendingcontents_response.rb +51 -0
  342. data/lib/xapi_scraper/models/operations/trendingcontents_response.rbi +32 -0
  343. data/lib/xapi_scraper/models/operations/trendingcountries_response.rb +51 -0
  344. data/lib/xapi_scraper/models/operations/trendingcountries_response.rbi +32 -0
  345. data/lib/xapi_scraper/models/operations/trendingtopics_response.rb +51 -0
  346. data/lib/xapi_scraper/models/operations/trendingtopics_response.rbi +32 -0
  347. data/lib/xapi_scraper/models/operations/trendingtweets_request.rb +63 -0
  348. data/lib/xapi_scraper/models/operations/trendingtweets_request.rbi +32 -0
  349. data/lib/xapi_scraper/models/operations/trendingtweets_response.rb +51 -0
  350. data/lib/xapi_scraper/models/operations/trendingtweets_response.rbi +32 -0
  351. data/lib/xapi_scraper/models/operations/tweet_type.rb +19 -0
  352. data/lib/xapi_scraper/models/operations/tweet_type.rbi +9 -0
  353. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rb +35 -0
  354. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rbi +20 -0
  355. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rb +51 -0
  356. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rbi +32 -0
  357. data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rb +51 -0
  358. data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rbi +32 -0
  359. data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rb +51 -0
  360. data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rbi +32 -0
  361. data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rb +51 -0
  362. data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rbi +32 -0
  363. data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rb +51 -0
  364. data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rbi +32 -0
  365. data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rb +35 -0
  366. data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rbi +20 -0
  367. data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rb +51 -0
  368. data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rbi +32 -0
  369. data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rb +51 -0
  370. data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rbi +32 -0
  371. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rb +35 -0
  372. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rbi +20 -0
  373. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rb +51 -0
  374. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rbi +32 -0
  375. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rb +35 -0
  376. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rbi +20 -0
  377. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rb +51 -0
  378. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rbi +32 -0
  379. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rb +35 -0
  380. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rbi +20 -0
  381. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rb +51 -0
  382. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rbi +32 -0
  383. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rb +35 -0
  384. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rbi +20 -0
  385. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rb +51 -0
  386. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rbi +32 -0
  387. data/lib/xapi_scraper/models/operations/tweetsdetail_response.rb +51 -0
  388. data/lib/xapi_scraper/models/operations/tweetsdetail_response.rbi +32 -0
  389. data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rb +51 -0
  390. data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rbi +32 -0
  391. data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rb +51 -0
  392. data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rbi +32 -0
  393. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rb +39 -0
  394. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rbi +20 -0
  395. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rb +51 -0
  396. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rbi +32 -0
  397. data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rb +51 -0
  398. data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rbi +32 -0
  399. data/lib/xapi_scraper/models/operations/tweetslookup_response.rb +51 -0
  400. data/lib/xapi_scraper/models/operations/tweetslookup_response.rbi +32 -0
  401. data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rb +35 -0
  402. data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rbi +20 -0
  403. data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rb +51 -0
  404. data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rbi +32 -0
  405. data/lib/xapi_scraper/models/operations/tweetssimilar_request.rb +30 -0
  406. data/lib/xapi_scraper/models/operations/tweetssimilar_request.rbi +14 -0
  407. data/lib/xapi_scraper/models/operations/tweetssimilar_response.rb +51 -0
  408. data/lib/xapi_scraper/models/operations/tweetssimilar_response.rbi +32 -0
  409. data/lib/xapi_scraper/models/operations/tweetsthread_response.rb +51 -0
  410. data/lib/xapi_scraper/models/operations/tweetsthread_response.rbi +32 -0
  411. data/lib/xapi_scraper/models/operations/usersfollow_response.rb +51 -0
  412. data/lib/xapi_scraper/models/operations/usersfollow_response.rbi +32 -0
  413. data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rb +51 -0
  414. data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rbi +32 -0
  415. data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rb +51 -0
  416. data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rbi +32 -0
  417. data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rb +51 -0
  418. data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rbi +32 -0
  419. data/lib/xapi_scraper/models/operations/usersgetabout_request.rb +31 -0
  420. data/lib/xapi_scraper/models/operations/usersgetabout_request.rbi +14 -0
  421. data/lib/xapi_scraper/models/operations/usersgetabout_response.rb +54 -0
  422. data/lib/xapi_scraper/models/operations/usersgetabout_response.rbi +32 -0
  423. data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rb +54 -0
  424. data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rbi +32 -0
  425. data/lib/xapi_scraper/models/operations/usersgetbyids_response.rb +51 -0
  426. data/lib/xapi_scraper/models/operations/usersgetbyids_response.rbi +32 -0
  427. data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rb +51 -0
  428. data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rbi +32 -0
  429. data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rb +51 -0
  430. data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rbi +32 -0
  431. data/lib/xapi_scraper/models/operations/userssearch_request.rb +39 -0
  432. data/lib/xapi_scraper/models/operations/userssearch_request.rbi +20 -0
  433. data/lib/xapi_scraper/models/operations/userssearch_response.rb +51 -0
  434. data/lib/xapi_scraper/models/operations/userssearch_response.rbi +32 -0
  435. data/lib/xapi_scraper/models/operations/usersunfollow_response.rb +51 -0
  436. data/lib/xapi_scraper/models/operations/usersunfollow_response.rbi +32 -0
  437. data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rb +51 -0
  438. data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rbi +32 -0
  439. data/lib/xapi_scraper/models/operations.rb +127 -0
  440. data/lib/xapi_scraper/replies.rb +235 -0
  441. data/lib/xapi_scraper/sdk_hooks/hooks.rb +99 -0
  442. data/lib/xapi_scraper/sdk_hooks/registration.rb +34 -0
  443. data/lib/xapi_scraper/sdk_hooks/types.rb +180 -0
  444. data/lib/xapi_scraper/sdkconfiguration.rb +107 -0
  445. data/lib/xapi_scraper/sdkconfiguration.rbi +83 -0
  446. data/lib/xapi_scraper/search.rb +610 -0
  447. data/lib/xapi_scraper/timelines.rb +805 -0
  448. data/lib/xapi_scraper/trending.rb +888 -0
  449. data/lib/xapi_scraper/tweets.rb +801 -0
  450. data/lib/xapi_scraper/users.rb +1748 -0
  451. data/lib/xapi_scraper/utils/forms.rb +232 -0
  452. data/lib/xapi_scraper/utils/headers.rb +82 -0
  453. data/lib/xapi_scraper/utils/query_params.rb +167 -0
  454. data/lib/xapi_scraper/utils/request_bodies.rb +79 -0
  455. data/lib/xapi_scraper/utils/retries.rb +139 -0
  456. data/lib/xapi_scraper/utils/security.rb +158 -0
  457. data/lib/xapi_scraper/utils/url.rb +124 -0
  458. data/lib/xapi_scraper/utils/utils.rb +241 -0
  459. metadata +720 -0
@@ -0,0 +1,72 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetListMembersCursorResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The status code of the response.
15
+ field(
16
+ :code,
17
+ ::Integer,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code"), required: true}}
19
+ )
20
+ # The message of the response.
21
+ field :msg, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg"), required: true}}
22
+ # A list of user objects.
23
+ field(
24
+ :data,
25
+ Crystalline::Array.new(Models::Components::UserModel),
26
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
27
+ )
28
+ # Whether another page is available.
29
+ field(
30
+ :has_next_page,
31
+ Crystalline::Boolean.new,
32
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("has_next_page"), required: true}}
33
+ )
34
+ # The next cursor of the members to get.
35
+ field(
36
+ :next_cursor,
37
+ Crystalline::Nilable.new(::String),
38
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
39
+ )
40
+
41
+ sig {
42
+ params(
43
+ code: ::Integer,
44
+ msg: ::String,
45
+ data: T::Array[Models::Components::UserModel],
46
+ has_next_page: T::Boolean,
47
+ next_cursor: T.nilable(::String)
48
+ )
49
+ .void
50
+ }
51
+ def initialize(code:, msg:, data:, has_next_page:, next_cursor: nil)
52
+ @code = code
53
+ @msg = msg
54
+ @data = data
55
+ @has_next_page = has_next_page
56
+ @next_cursor = next_cursor
57
+ end
58
+
59
+ sig { params(other: T.untyped).returns(T::Boolean) }
60
+ def ==(other)
61
+ return false unless other.is_a?(self.class)
62
+ return false unless @code == other.code
63
+ return false unless @msg == other.msg
64
+ return false unless @data == other.data
65
+ return false unless @has_next_page == other.has_next_page
66
+ return false unless @next_cursor == other.next_cursor
67
+ true
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetListMembersCursorResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetListMembersCursorResponse
9
+ def code
10
+ end
11
+
12
+ def code=(str_)
13
+ end
14
+
15
+ def msg
16
+ end
17
+
18
+ def msg=(str_)
19
+ end
20
+
21
+ def data
22
+ end
23
+
24
+ def data=(str_)
25
+ end
26
+
27
+ def has_next_page
28
+ end
29
+
30
+ def has_next_page=(str_)
31
+ end
32
+
33
+ def next_cursor
34
+ end
35
+
36
+ def next_cursor=(str_)
37
+ end
38
+ end
@@ -0,0 +1,43 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetListTweetsCursorQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The ID of the list to get tweets from.
15
+ field(
16
+ :list_id,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("list_id"), required: true}}
19
+ )
20
+ # Cursor returned by the previous page. Leave empty to fetch the first page.
21
+ field(
22
+ :next_cursor,
23
+ Crystalline::Nilable.new(::String),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
25
+ )
26
+
27
+ sig { params(list_id: ::String, next_cursor: T.nilable(::String)).void }
28
+ def initialize(list_id:, next_cursor: nil)
29
+ @list_id = list_id
30
+ @next_cursor = next_cursor
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a?(self.class)
36
+ return false unless @list_id == other.list_id
37
+ return false unless @next_cursor == other.next_cursor
38
+ true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetListTweetsCursorQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetListTweetsCursorQuery
9
+ def list_id
10
+ end
11
+
12
+ def list_id=(str_)
13
+ end
14
+
15
+ def next_cursor
16
+ end
17
+
18
+ def next_cursor=(str_)
19
+ end
20
+ end
@@ -0,0 +1,72 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetListTweetsCursorResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The status code of the response.
15
+ field(
16
+ :code,
17
+ ::Integer,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code"), required: true}}
19
+ )
20
+ # The message of the response.
21
+ field :msg, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg"), required: true}}
22
+ # A list of tweet objects.
23
+ field(
24
+ :data,
25
+ Crystalline::Array.new(Models::Components::TweetModel),
26
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
27
+ )
28
+ # Whether another page is available.
29
+ field(
30
+ :has_next_page,
31
+ Crystalline::Boolean.new,
32
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("has_next_page"), required: true}}
33
+ )
34
+ # The next cursor of the tweets to get.
35
+ field(
36
+ :next_cursor,
37
+ Crystalline::Nilable.new(::String),
38
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
39
+ )
40
+
41
+ sig {
42
+ params(
43
+ code: ::Integer,
44
+ msg: ::String,
45
+ data: T::Array[Models::Components::TweetModel],
46
+ has_next_page: T::Boolean,
47
+ next_cursor: T.nilable(::String)
48
+ )
49
+ .void
50
+ }
51
+ def initialize(code:, msg:, data:, has_next_page:, next_cursor: nil)
52
+ @code = code
53
+ @msg = msg
54
+ @data = data
55
+ @has_next_page = has_next_page
56
+ @next_cursor = next_cursor
57
+ end
58
+
59
+ sig { params(other: T.untyped).returns(T::Boolean) }
60
+ def ==(other)
61
+ return false unless other.is_a?(self.class)
62
+ return false unless @code == other.code
63
+ return false unless @msg == other.msg
64
+ return false unless @data == other.data
65
+ return false unless @has_next_page == other.has_next_page
66
+ return false unless @next_cursor == other.next_cursor
67
+ true
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetListTweetsCursorResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetListTweetsCursorResponse
9
+ def code
10
+ end
11
+
12
+ def code=(str_)
13
+ end
14
+
15
+ def msg
16
+ end
17
+
18
+ def msg=(str_)
19
+ end
20
+
21
+ def data
22
+ end
23
+
24
+ def data=(str_)
25
+ end
26
+
27
+ def has_next_page
28
+ end
29
+
30
+ def has_next_page=(str_)
31
+ end
32
+
33
+ def next_cursor
34
+ end
35
+
36
+ def next_cursor=(str_)
37
+ end
38
+ end
@@ -0,0 +1,63 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetQuotesCursorQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The ID of the tweet to get quote tweets for.
15
+ field(
16
+ :tweet_id,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_id"), required: true}}
19
+ )
20
+ # Sort order for quote tweets. `Latest` for chronological order or `Top` for ranked results.
21
+ field(
22
+ :sort_by,
23
+ Crystalline::Nilable.new(Models::Components::GetQuotesCursorQuerySortBy),
24
+ {
25
+ 'format_json': {
26
+ 'letter_case': ::XapiScraper::Utils.field_name("sort_by"),
27
+ 'decoder': ::XapiScraper::Utils.enum_from_string(Models::Components::GetQuotesCursorQuerySortBy, true)
28
+ }
29
+ }
30
+ )
31
+ # Cursor returned by the previous page. Leave empty to fetch the first page.
32
+ field(
33
+ :next_cursor,
34
+ Crystalline::Nilable.new(::String),
35
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
36
+ )
37
+
38
+ sig {
39
+ params(
40
+ tweet_id: ::String,
41
+ sort_by: T.nilable(Models::Components::GetQuotesCursorQuerySortBy),
42
+ next_cursor: T.nilable(::String)
43
+ )
44
+ .void
45
+ }
46
+ def initialize(tweet_id:, sort_by: Models::Components::GetQuotesCursorQuerySortBy::TOP, next_cursor: nil)
47
+ @tweet_id = tweet_id
48
+ @sort_by = sort_by
49
+ @next_cursor = next_cursor
50
+ end
51
+
52
+ sig { params(other: T.untyped).returns(T::Boolean) }
53
+ def ==(other)
54
+ return false unless other.is_a?(self.class)
55
+ return false unless @tweet_id == other.tweet_id
56
+ return false unless @sort_by == other.sort_by
57
+ return false unless @next_cursor == other.next_cursor
58
+ true
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetQuotesCursorQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetQuotesCursorQuery
9
+ def tweet_id
10
+ end
11
+
12
+ def tweet_id=(str_)
13
+ end
14
+
15
+ def sort_by
16
+ end
17
+
18
+ def sort_by=(str_)
19
+ end
20
+
21
+ def next_cursor
22
+ end
23
+
24
+ def next_cursor=(str_)
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # GetQuotesCursorQuerySortBy - Sort order for quote tweets. `Latest` for chronological order or `Top` for ranked results.
10
+ class GetQuotesCursorQuerySortBy < T::Enum
11
+ enums do
12
+ TOP = new("Top")
13
+ LATEST = new("Latest")
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetQuotesCursorQuerySortBy
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetQuotesCursorQuerySortBy
9
+ end
@@ -0,0 +1,72 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetQuotesCursorResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The status code of the response.
15
+ field(
16
+ :code,
17
+ ::Integer,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code"), required: true}}
19
+ )
20
+ # The message of the response.
21
+ field :msg, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg"), required: true}}
22
+ # A list of quote tweet objects for the current page.
23
+ field(
24
+ :data,
25
+ Crystalline::Array.new(Models::Components::TweetModel),
26
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
27
+ )
28
+ # Whether another page is available.
29
+ field(
30
+ :has_next_page,
31
+ Crystalline::Boolean.new,
32
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("has_next_page"), required: true}}
33
+ )
34
+ # Use this cursor to fetch the next page when has_next_page is true.
35
+ field(
36
+ :next_cursor,
37
+ Crystalline::Nilable.new(::String),
38
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
39
+ )
40
+
41
+ sig {
42
+ params(
43
+ code: ::Integer,
44
+ msg: ::String,
45
+ data: T::Array[Models::Components::TweetModel],
46
+ has_next_page: T::Boolean,
47
+ next_cursor: T.nilable(::String)
48
+ )
49
+ .void
50
+ }
51
+ def initialize(code:, msg:, data:, has_next_page:, next_cursor: nil)
52
+ @code = code
53
+ @msg = msg
54
+ @data = data
55
+ @has_next_page = has_next_page
56
+ @next_cursor = next_cursor
57
+ end
58
+
59
+ sig { params(other: T.untyped).returns(T::Boolean) }
60
+ def ==(other)
61
+ return false unless other.is_a?(self.class)
62
+ return false unless @code == other.code
63
+ return false unless @msg == other.msg
64
+ return false unless @data == other.data
65
+ return false unless @has_next_page == other.has_next_page
66
+ return false unless @next_cursor == other.next_cursor
67
+ true
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetQuotesCursorResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetQuotesCursorResponse
9
+ def code
10
+ end
11
+
12
+ def code=(str_)
13
+ end
14
+
15
+ def msg
16
+ end
17
+
18
+ def msg=(str_)
19
+ end
20
+
21
+ def data
22
+ end
23
+
24
+ def data=(str_)
25
+ end
26
+
27
+ def has_next_page
28
+ end
29
+
30
+ def has_next_page=(str_)
31
+ end
32
+
33
+ def next_cursor
34
+ end
35
+
36
+ def next_cursor=(str_)
37
+ end
38
+ end
@@ -0,0 +1,59 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetQuotesQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The ID of the tweet to get quote tweets for.
15
+ field(
16
+ :tweet_id,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_id"), required: true}}
19
+ )
20
+ # Number of quote tweets to return (minimum 10, maximum 5000).
21
+ field(
22
+ :count,
23
+ ::Integer,
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("count"), required: true}}
25
+ )
26
+ # Sort order for quote tweets. `Latest` for chronological order or `Top` for ranked results.
27
+ field(
28
+ :sort_by,
29
+ Crystalline::Nilable.new(Models::Components::GetQuotesQuerySortBy),
30
+ {
31
+ 'format_json': {
32
+ 'letter_case': ::XapiScraper::Utils.field_name("sort_by"),
33
+ 'decoder': ::XapiScraper::Utils.enum_from_string(Models::Components::GetQuotesQuerySortBy, true)
34
+ }
35
+ }
36
+ )
37
+
38
+ sig {
39
+ params(tweet_id: ::String, count: ::Integer, sort_by: T.nilable(Models::Components::GetQuotesQuerySortBy))
40
+ .void
41
+ }
42
+ def initialize(tweet_id:, count:, sort_by: Models::Components::GetQuotesQuerySortBy::TOP)
43
+ @tweet_id = tweet_id
44
+ @count = count
45
+ @sort_by = sort_by
46
+ end
47
+
48
+ sig { params(other: T.untyped).returns(T::Boolean) }
49
+ def ==(other)
50
+ return false unless other.is_a?(self.class)
51
+ return false unless @tweet_id == other.tweet_id
52
+ return false unless @count == other.count
53
+ return false unless @sort_by == other.sort_by
54
+ true
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetQuotesQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetQuotesQuery
9
+ def tweet_id
10
+ end
11
+
12
+ def tweet_id=(str_)
13
+ end
14
+
15
+ def count
16
+ end
17
+
18
+ def count=(str_)
19
+ end
20
+
21
+ def sort_by
22
+ end
23
+
24
+ def sort_by=(str_)
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # GetQuotesQuerySortBy - Sort order for quote tweets. `Latest` for chronological order or `Top` for ranked results.
10
+ class GetQuotesQuerySortBy < T::Enum
11
+ enums do
12
+ TOP = new("Top")
13
+ LATEST = new("Latest")
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::GetQuotesQuerySortBy
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::GetQuotesQuerySortBy
9
+ end
@@ -0,0 +1,47 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+
10
+ class GetQuotesResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The status code of the response.
15
+ field(
16
+ :code,
17
+ ::Integer,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code"), required: true}}
19
+ )
20
+ # The message of the response.
21
+ field :msg, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg"), required: true}}
22
+ # A list of quote tweet objects.
23
+ field(
24
+ :data,
25
+ Crystalline::Array.new(Models::Components::TweetModel),
26
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
27
+ )
28
+
29
+ sig { params(code: ::Integer, msg: ::String, data: T::Array[Models::Components::TweetModel]).void }
30
+ def initialize(code:, msg:, data:)
31
+ @code = code
32
+ @msg = msg
33
+ @data = data
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a?(self.class)
39
+ return false unless @code == other.code
40
+ return false unless @msg == other.msg
41
+ return false unless @data == other.data
42
+ true
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end