mediawiktory 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (558) hide show
  1. checksums.yaml +4 -4
  2. data/.dokaz +1 -0
  3. data/.rubocop_todo.yml +16 -0
  4. data/.yardopts +2 -0
  5. data/CHANGELOG.md +10 -4
  6. data/CONTRIBUTING.md +6 -9
  7. data/README.md +153 -72
  8. data/bin/mediawiktory-gen +35 -0
  9. data/lib/media_wiktory.rb +2 -0
  10. data/lib/mediawiktory.rb +13 -14
  11. data/lib/mediawiktory/generator.rb +107 -0
  12. data/lib/mediawiktory/generator/api.rb +75 -0
  13. data/lib/mediawiktory/generator/module.rb +105 -0
  14. data/lib/mediawiktory/generator/param.rb +271 -0
  15. data/lib/mediawiktory/generator/renderable.rb +59 -0
  16. data/lib/mediawiktory/generator/templates/_action_method.erb +20 -0
  17. data/lib/mediawiktory/generator/templates/_module_in_param_docs.erb +2 -0
  18. data/lib/mediawiktory/generator/templates/_param_impl_boolean.erb +1 -0
  19. data/lib/mediawiktory/generator/templates/_param_impl_enum.erb +1 -0
  20. data/lib/mediawiktory/generator/templates/_param_impl_enum_of_modules.erb +1 -0
  21. data/lib/mediawiktory/generator/templates/_param_impl_string.erb +1 -0
  22. data/lib/mediawiktory/generator/templates/_param_impl_timestamp.erb +1 -0
  23. data/lib/mediawiktory/generator/templates/_param_method.erb +14 -0
  24. data/lib/mediawiktory/generator/templates/action.rb.erb +204 -0
  25. data/lib/mediawiktory/generator/templates/action_class.rb.erb +30 -0
  26. data/lib/mediawiktory/generator/templates/actions.rb.erb +31 -0
  27. data/lib/mediawiktory/generator/templates/api.rb.erb +65 -0
  28. data/lib/mediawiktory/{client.rb → generator/templates/client.rb.erb} +24 -10
  29. data/lib/mediawiktory/generator/templates/module_class.rb.erb +22 -0
  30. data/lib/mediawiktory/generator/templates/response.rb.erb +122 -0
  31. data/lib/mediawiktory/version.rb +4 -2
  32. data/lib/mediawiktory/wikipedia/actions.rb +2296 -0
  33. data/lib/mediawiktory/wikipedia/actions/abusefiltercheckmatch.rb +55 -0
  34. data/lib/mediawiktory/wikipedia/actions/abusefilterchecksyntax.rb +31 -0
  35. data/lib/mediawiktory/wikipedia/actions/abusefilterevalexpression.rb +31 -0
  36. data/lib/mediawiktory/wikipedia/actions/abusefilterunblockautopromote.rb +39 -0
  37. data/lib/mediawiktory/wikipedia/actions/addstudents.rb +52 -0
  38. data/lib/mediawiktory/wikipedia/actions/antispoof.rb +31 -0
  39. data/lib/mediawiktory/wikipedia/actions/base.rb +351 -0
  40. data/lib/mediawiktory/wikipedia/actions/block.rb +132 -0
  41. data/lib/mediawiktory/wikipedia/actions/bouncehandler.rb +31 -0
  42. data/lib/mediawiktory/wikipedia/actions/categorytree.rb +39 -0
  43. data/lib/mediawiktory/wikipedia/actions/centralauthtoken.rb +25 -0
  44. data/lib/mediawiktory/wikipedia/actions/centralnoticechoicedata.rb +39 -0
  45. data/lib/mediawiktory/wikipedia/actions/centralnoticequerycampaign.rb +31 -0
  46. data/lib/mediawiktory/wikipedia/actions/changeauthenticationdata.rb +39 -0
  47. data/lib/mediawiktory/wikipedia/actions/checktoken.rb +52 -0
  48. data/lib/mediawiktory/wikipedia/actions/cirrus-config-dump.rb +25 -0
  49. data/lib/mediawiktory/wikipedia/actions/cirrus-mapping-dump.rb +25 -0
  50. data/lib/mediawiktory/wikipedia/actions/cirrus-settings-dump.rb +25 -0
  51. data/lib/mediawiktory/wikipedia/actions/clearhasmsg.rb +25 -0
  52. data/lib/mediawiktory/wikipedia/actions/clientlogin.rb +86 -0
  53. data/lib/mediawiktory/wikipedia/actions/compare.rb +71 -0
  54. data/lib/mediawiktory/wikipedia/actions/createaccount.rb +86 -0
  55. data/lib/mediawiktory/wikipedia/actions/cspreport.rb +38 -0
  56. data/lib/mediawiktory/wikipedia/actions/cxconfiguration.rb +39 -0
  57. data/lib/mediawiktory/wikipedia/actions/cxdelete.rb +55 -0
  58. data/lib/mediawiktory/wikipedia/actions/cxpublish.rb +95 -0
  59. data/lib/mediawiktory/wikipedia/actions/cxsave.rb +87 -0
  60. data/lib/mediawiktory/wikipedia/actions/cxsuggestionlist.rb +81 -0
  61. data/lib/mediawiktory/wikipedia/actions/cxtoken.rb +31 -0
  62. data/lib/mediawiktory/wikipedia/actions/delete.rb +103 -0
  63. data/lib/mediawiktory/wikipedia/actions/deleteeducation.rb +65 -0
  64. data/lib/mediawiktory/wikipedia/actions/deleteglobalaccount.rb +47 -0
  65. data/lib/mediawiktory/wikipedia/actions/echomarkread.rb +77 -0
  66. data/lib/mediawiktory/wikipedia/actions/echomarkseen.rb +57 -0
  67. data/lib/mediawiktory/wikipedia/actions/edit.rb +266 -0
  68. data/lib/mediawiktory/wikipedia/actions/editmassmessagelist.rb +65 -0
  69. data/lib/mediawiktory/wikipedia/actions/emailuser.rb +62 -0
  70. data/lib/mediawiktory/wikipedia/actions/enlist.rb +89 -0
  71. data/lib/mediawiktory/wikipedia/actions/expandtemplates.rb +129 -0
  72. data/lib/mediawiktory/wikipedia/actions/fancycaptchareload.rb +25 -0
  73. data/lib/mediawiktory/wikipedia/actions/featuredfeed.rb +57 -0
  74. data/lib/mediawiktory/wikipedia/actions/feedcontributions.rb +121 -0
  75. data/lib/mediawiktory/wikipedia/actions/feedrecentchanges.rb +159 -0
  76. data/lib/mediawiktory/wikipedia/actions/feedwatchlist.rb +108 -0
  77. data/lib/mediawiktory/wikipedia/actions/filerevert.rb +55 -0
  78. data/lib/mediawiktory/wikipedia/actions/flagconfig.rb +25 -0
  79. data/lib/mediawiktory/wikipedia/actions/globalblock.rb +76 -0
  80. data/lib/mediawiktory/wikipedia/actions/globaluserrights.rb +94 -0
  81. data/lib/mediawiktory/wikipedia/actions/graph.rb +47 -0
  82. data/lib/mediawiktory/wikipedia/actions/help.rb +64 -0
  83. data/lib/mediawiktory/wikipedia/actions/imagerotate.rb +25 -0
  84. data/lib/mediawiktory/wikipedia/actions/import.rb +116 -0
  85. data/lib/mediawiktory/wikipedia/actions/jsonconfig.rb +60 -0
  86. data/lib/mediawiktory/wikipedia/actions/jsondata.rb +31 -0
  87. data/lib/mediawiktory/wikipedia/actions/languagesearch.rb +39 -0
  88. data/lib/mediawiktory/wikipedia/actions/linkaccount.rb +79 -0
  89. data/lib/mediawiktory/wikipedia/actions/liststudents.rb +63 -0
  90. data/lib/mediawiktory/wikipedia/actions/login.rb +55 -0
  91. data/lib/mediawiktory/wikipedia/actions/logout.rb +25 -0
  92. data/lib/mediawiktory/wikipedia/actions/managetags.rb +80 -0
  93. data/lib/mediawiktory/wikipedia/actions/massmessage.rb +55 -0
  94. data/lib/mediawiktory/wikipedia/actions/mergehistory.rb +79 -0
  95. data/lib/mediawiktory/wikipedia/actions/mobileview.rb +170 -0
  96. data/lib/mediawiktory/wikipedia/actions/move.rb +131 -0
  97. data/lib/mediawiktory/wikipedia/actions/oathvalidate.rb +47 -0
  98. data/lib/mediawiktory/wikipedia/actions/opensearch.rb +105 -0
  99. data/lib/mediawiktory/wikipedia/actions/options.rb +80 -0
  100. data/lib/mediawiktory/wikipedia/actions/pagetriageaction.rb +67 -0
  101. data/lib/mediawiktory/wikipedia/actions/pagetriagelist.rb +142 -0
  102. data/lib/mediawiktory/wikipedia/actions/pagetriagestats.rb +59 -0
  103. data/lib/mediawiktory/wikipedia/actions/pagetriagetagging.rb +83 -0
  104. data/lib/mediawiktory/wikipedia/actions/pagetriagetemplate.rb +39 -0
  105. data/lib/mediawiktory/wikipedia/actions/paraminfo.rb +91 -0
  106. data/lib/mediawiktory/wikipedia/actions/parse.rb +286 -0
  107. data/lib/mediawiktory/wikipedia/actions/parsoid-batch.rb +31 -0
  108. data/lib/mediawiktory/wikipedia/actions/patrol.rb +60 -0
  109. data/lib/mediawiktory/wikipedia/actions/protect.rb +121 -0
  110. data/lib/mediawiktory/wikipedia/actions/purge.rb +155 -0
  111. data/lib/mediawiktory/wikipedia/actions/query.rb +325 -0
  112. data/lib/mediawiktory/wikipedia/actions/refresheducation.rb +57 -0
  113. data/lib/mediawiktory/wikipedia/actions/removeauthenticationdata.rb +39 -0
  114. data/lib/mediawiktory/wikipedia/actions/resetpassword.rb +47 -0
  115. data/lib/mediawiktory/wikipedia/actions/review.rb +54 -0
  116. data/lib/mediawiktory/wikipedia/actions/reviewactivity.rb +60 -0
  117. data/lib/mediawiktory/wikipedia/actions/revisiondelete.rb +125 -0
  118. data/lib/mediawiktory/wikipedia/actions/rollback.rb +96 -0
  119. data/lib/mediawiktory/wikipedia/actions/rsd.rb +25 -0
  120. data/lib/mediawiktory/wikipedia/actions/sanitize-mapdata.rb +39 -0
  121. data/lib/mediawiktory/wikipedia/actions/scribunto-console.rb +62 -0
  122. data/lib/mediawiktory/wikipedia/actions/setglobalaccountstatus.rb +81 -0
  123. data/lib/mediawiktory/wikipedia/actions/setnotificationtimestamp.rb +180 -0
  124. data/lib/mediawiktory/wikipedia/actions/setpagelanguage.rb +81 -0
  125. data/lib/mediawiktory/wikipedia/actions/shortenurl.rb +31 -0
  126. data/lib/mediawiktory/wikipedia/actions/sitematrix.rb +91 -0
  127. data/lib/mediawiktory/wikipedia/actions/spamblacklist.rb +36 -0
  128. data/lib/mediawiktory/wikipedia/actions/stabilize.rb +76 -0
  129. data/lib/mediawiktory/wikipedia/actions/stashedit.rb +113 -0
  130. data/lib/mediawiktory/wikipedia/actions/strikevote.rb +60 -0
  131. data/lib/mediawiktory/wikipedia/actions/tag.rb +117 -0
  132. data/lib/mediawiktory/wikipedia/actions/templatedata.rb +148 -0
  133. data/lib/mediawiktory/wikipedia/actions/thank.rb +47 -0
  134. data/lib/mediawiktory/wikipedia/actions/titleblacklist.rb +51 -0
  135. data/lib/mediawiktory/wikipedia/actions/tokens.rb +36 -0
  136. data/lib/mediawiktory/wikipedia/actions/transcodereset.rb +47 -0
  137. data/lib/mediawiktory/wikipedia/actions/ulslocalization.rb +31 -0
  138. data/lib/mediawiktory/wikipedia/actions/unblock.rb +76 -0
  139. data/lib/mediawiktory/wikipedia/actions/undelete.rb +99 -0
  140. data/lib/mediawiktory/wikipedia/actions/unlinkaccount.rb +39 -0
  141. data/lib/mediawiktory/wikipedia/actions/upload.rb +172 -0
  142. data/lib/mediawiktory/wikipedia/actions/userrights.rb +107 -0
  143. data/lib/mediawiktory/wikipedia/actions/validatepassword.rb +55 -0
  144. data/lib/mediawiktory/wikipedia/actions/visualeditor.rb +96 -0
  145. data/lib/mediawiktory/wikipedia/actions/visualeditoredit.rb +164 -0
  146. data/lib/mediawiktory/wikipedia/actions/watch.rb +164 -0
  147. data/lib/mediawiktory/wikipedia/actions/webapp-manifest.rb +25 -0
  148. data/lib/mediawiktory/wikipedia/actions/wikilove.rb +79 -0
  149. data/lib/mediawiktory/wikipedia/actions/zeroconfig.rb +44 -0
  150. data/lib/mediawiktory/wikipedia/api.rb +80 -0
  151. data/lib/mediawiktory/wikipedia/client.rb +61 -0
  152. data/lib/mediawiktory/wikipedia/modules/abusefilters.rb +85 -0
  153. data/lib/mediawiktory/wikipedia/modules/abuselog.rb +101 -0
  154. data/lib/mediawiktory/wikipedia/modules/allcategories.rb +104 -0
  155. data/lib/mediawiktory/wikipedia/modules/alldeletedrevisions.rb +213 -0
  156. data/lib/mediawiktory/wikipedia/modules/allfileusages.rb +95 -0
  157. data/lib/mediawiktory/wikipedia/modules/allimages.rb +183 -0
  158. data/lib/mediawiktory/wikipedia/modules/alllinks.rb +108 -0
  159. data/lib/mediawiktory/wikipedia/modules/allmessages.rb +143 -0
  160. data/lib/mediawiktory/wikipedia/modules/allpages.rb +182 -0
  161. data/lib/mediawiktory/wikipedia/modules/allredirects.rb +108 -0
  162. data/lib/mediawiktory/wikipedia/modules/allrevisions.rb +181 -0
  163. data/lib/mediawiktory/wikipedia/modules/alltransclusions.rb +108 -0
  164. data/lib/mediawiktory/wikipedia/modules/allusers.rb +141 -0
  165. data/lib/mediawiktory/wikipedia/modules/authmanagerinfo.rb +63 -0
  166. data/lib/mediawiktory/wikipedia/modules/babel.rb +30 -0
  167. data/lib/mediawiktory/wikipedia/modules/backlinks.rb +100 -0
  168. data/lib/mediawiktory/wikipedia/modules/betafeatures.rb +30 -0
  169. data/lib/mediawiktory/wikipedia/modules/blocks.rb +127 -0
  170. data/lib/mediawiktory/wikipedia/modules/categories.rb +90 -0
  171. data/lib/mediawiktory/wikipedia/modules/categoryinfo.rb +30 -0
  172. data/lib/mediawiktory/wikipedia/modules/categorymembers.rb +183 -0
  173. data/lib/mediawiktory/wikipedia/modules/centralnoticelogs.rb +70 -0
  174. data/lib/mediawiktory/wikipedia/modules/checkuser.rb +83 -0
  175. data/lib/mediawiktory/wikipedia/modules/checkuserlog.rb +83 -0
  176. data/lib/mediawiktory/wikipedia/modules/contenttranslation.rb +83 -0
  177. data/lib/mediawiktory/wikipedia/modules/contenttranslationcorpora.rb +50 -0
  178. data/lib/mediawiktory/wikipedia/modules/contenttranslationlangtrend.rb +51 -0
  179. data/lib/mediawiktory/wikipedia/modules/contenttranslationstats.rb +22 -0
  180. data/lib/mediawiktory/wikipedia/modules/contenttranslationsuggestions.rb +70 -0
  181. data/lib/mediawiktory/wikipedia/modules/contributors.rb +90 -0
  182. data/lib/mediawiktory/wikipedia/modules/coordinates.rb +80 -0
  183. data/lib/mediawiktory/wikipedia/modules/cxpublishedtranslations.rb +54 -0
  184. data/lib/mediawiktory/wikipedia/modules/cxtranslatorstats.rb +30 -0
  185. data/lib/mediawiktory/wikipedia/modules/deletedrevisions.rb +169 -0
  186. data/lib/mediawiktory/wikipedia/modules/deletedrevs.rb +148 -0
  187. data/lib/mediawiktory/wikipedia/modules/duplicatefiles.rb +58 -0
  188. data/lib/mediawiktory/wikipedia/modules/embeddedin.rb +93 -0
  189. data/lib/mediawiktory/wikipedia/modules/extlinks.rb +66 -0
  190. data/lib/mediawiktory/wikipedia/modules/extracts.rb +81 -0
  191. data/lib/mediawiktory/wikipedia/modules/exturlusage.rb +92 -0
  192. data/lib/mediawiktory/wikipedia/modules/featureusage.rb +59 -0
  193. data/lib/mediawiktory/wikipedia/modules/filearchive.rb +104 -0
  194. data/lib/mediawiktory/wikipedia/modules/filerepoinfo.rb +35 -0
  195. data/lib/mediawiktory/wikipedia/modules/fileusage.rb +77 -0
  196. data/lib/mediawiktory/wikipedia/modules/flagged.rb +22 -0
  197. data/lib/mediawiktory/wikipedia/modules/g-allcategories.rb +91 -0
  198. data/lib/mediawiktory/wikipedia/modules/g-alldeletedrevisions.rb +200 -0
  199. data/lib/mediawiktory/wikipedia/modules/g-allfileusages.rb +82 -0
  200. data/lib/mediawiktory/wikipedia/modules/g-allimages.rb +170 -0
  201. data/lib/mediawiktory/wikipedia/modules/g-alllinks.rb +95 -0
  202. data/lib/mediawiktory/wikipedia/modules/g-allpages.rb +182 -0
  203. data/lib/mediawiktory/wikipedia/modules/g-allredirects.rb +95 -0
  204. data/lib/mediawiktory/wikipedia/modules/g-allrevisions.rb +168 -0
  205. data/lib/mediawiktory/wikipedia/modules/g-alltransclusions.rb +95 -0
  206. data/lib/mediawiktory/wikipedia/modules/g-backlinks.rb +100 -0
  207. data/lib/mediawiktory/wikipedia/modules/g-categories.rb +77 -0
  208. data/lib/mediawiktory/wikipedia/modules/g-categorymembers.rb +170 -0
  209. data/lib/mediawiktory/wikipedia/modules/g-contenttranslation.rb +83 -0
  210. data/lib/mediawiktory/wikipedia/modules/g-contenttranslationsuggestions.rb +70 -0
  211. data/lib/mediawiktory/wikipedia/modules/g-deletedrevisions.rb +156 -0
  212. data/lib/mediawiktory/wikipedia/modules/g-duplicatefiles.rb +58 -0
  213. data/lib/mediawiktory/wikipedia/modules/g-embeddedin.rb +93 -0
  214. data/lib/mediawiktory/wikipedia/modules/g-exturlusage.rb +79 -0
  215. data/lib/mediawiktory/wikipedia/modules/g-fileusage.rb +64 -0
  216. data/lib/mediawiktory/wikipedia/modules/g-geosearch.rb +116 -0
  217. data/lib/mediawiktory/wikipedia/modules/g-gettingstartedgetpages.rb +46 -0
  218. data/lib/mediawiktory/wikipedia/modules/g-images.rb +64 -0
  219. data/lib/mediawiktory/wikipedia/modules/g-imageusage.rb +100 -0
  220. data/lib/mediawiktory/wikipedia/modules/g-iwbacklinks.rb +67 -0
  221. data/lib/mediawiktory/wikipedia/modules/g-langbacklinks.rb +67 -0
  222. data/lib/mediawiktory/wikipedia/modules/g-links.rb +77 -0
  223. data/lib/mediawiktory/wikipedia/modules/g-linkshere.rb +64 -0
  224. data/lib/mediawiktory/wikipedia/modules/g-mostviewed.rb +51 -0
  225. data/lib/mediawiktory/wikipedia/modules/g-oldreviewedpages.rb +114 -0
  226. data/lib/mediawiktory/wikipedia/modules/g-pageswithprop.rb +59 -0
  227. data/lib/mediawiktory/wikipedia/modules/g-prefixsearch.rb +72 -0
  228. data/lib/mediawiktory/wikipedia/modules/g-projectpages.rb +58 -0
  229. data/lib/mediawiktory/wikipedia/modules/g-protectedtitles.rb +93 -0
  230. data/lib/mediawiktory/wikipedia/modules/g-querypage.rb +51 -0
  231. data/lib/mediawiktory/wikipedia/modules/g-random.rb +71 -0
  232. data/lib/mediawiktory/wikipedia/modules/g-recentchanges.rb +157 -0
  233. data/lib/mediawiktory/wikipedia/modules/g-redirects.rb +64 -0
  234. data/lib/mediawiktory/wikipedia/modules/g-revisions.rb +185 -0
  235. data/lib/mediawiktory/wikipedia/modules/g-search.rb +112 -0
  236. data/lib/mediawiktory/wikipedia/modules/g-templates.rb +77 -0
  237. data/lib/mediawiktory/wikipedia/modules/g-transcludedin.rb +64 -0
  238. data/lib/mediawiktory/wikipedia/modules/g-watchlist.rb +145 -0
  239. data/lib/mediawiktory/wikipedia/modules/g-watchlistraw.rb +109 -0
  240. data/lib/mediawiktory/wikipedia/modules/g-wblistentityusage.rb +64 -0
  241. data/lib/mediawiktory/wikipedia/modules/gadgetcategories.rb +48 -0
  242. data/lib/mediawiktory/wikipedia/modules/gadgets.rb +75 -0
  243. data/lib/mediawiktory/wikipedia/modules/geosearch.rb +129 -0
  244. data/lib/mediawiktory/wikipedia/modules/gettingstartedgetpages.rb +46 -0
  245. data/lib/mediawiktory/wikipedia/modules/globalallusers.rb +106 -0
  246. data/lib/mediawiktory/wikipedia/modules/globalblocks.rb +106 -0
  247. data/lib/mediawiktory/wikipedia/modules/globalgroups.rb +35 -0
  248. data/lib/mediawiktory/wikipedia/modules/globalusage.rb +58 -0
  249. data/lib/mediawiktory/wikipedia/modules/globaluserinfo.rb +43 -0
  250. data/lib/mediawiktory/wikipedia/modules/imageinfo.rb +142 -0
  251. data/lib/mediawiktory/wikipedia/modules/images.rb +64 -0
  252. data/lib/mediawiktory/wikipedia/modules/imageusage.rb +100 -0
  253. data/lib/mediawiktory/wikipedia/modules/info.rb +69 -0
  254. data/lib/mediawiktory/wikipedia/modules/iwbacklinks.rb +80 -0
  255. data/lib/mediawiktory/wikipedia/modules/iwlinks.rb +87 -0
  256. data/lib/mediawiktory/wikipedia/modules/json.rb +57 -0
  257. data/lib/mediawiktory/wikipedia/modules/jsonfm.rb +64 -0
  258. data/lib/mediawiktory/wikipedia/modules/langbacklinks.rb +80 -0
  259. data/lib/mediawiktory/wikipedia/modules/langlinks.rb +95 -0
  260. data/lib/mediawiktory/wikipedia/modules/links.rb +77 -0
  261. data/lib/mediawiktory/wikipedia/modules/linkshere.rb +77 -0
  262. data/lib/mediawiktory/wikipedia/modules/logevents.rb +151 -0
  263. data/lib/mediawiktory/wikipedia/modules/mapdata.rb +46 -0
  264. data/lib/mediawiktory/wikipedia/modules/mmsites.rb +30 -0
  265. data/lib/mediawiktory/wikipedia/modules/mostviewed.rb +51 -0
  266. data/lib/mediawiktory/wikipedia/modules/mystashedfiles.rb +51 -0
  267. data/lib/mediawiktory/wikipedia/modules/none.rb +22 -0
  268. data/lib/mediawiktory/wikipedia/modules/notifications.rb +174 -0
  269. data/lib/mediawiktory/wikipedia/modules/oath.rb +30 -0
  270. data/lib/mediawiktory/wikipedia/modules/oldreviewedpages.rb +114 -0
  271. data/lib/mediawiktory/wikipedia/modules/ores.rb +22 -0
  272. data/lib/mediawiktory/wikipedia/modules/pageassessments.rb +45 -0
  273. data/lib/mediawiktory/wikipedia/modules/pageimages.rb +72 -0
  274. data/lib/mediawiktory/wikipedia/modules/pagepropnames.rb +38 -0
  275. data/lib/mediawiktory/wikipedia/modules/pageprops.rb +43 -0
  276. data/lib/mediawiktory/wikipedia/modules/pageswithprop.rb +72 -0
  277. data/lib/mediawiktory/wikipedia/modules/pageterms.rb +43 -0
  278. data/lib/mediawiktory/wikipedia/modules/pageviews.rb +51 -0
  279. data/lib/mediawiktory/wikipedia/modules/php.rb +35 -0
  280. data/lib/mediawiktory/wikipedia/modules/phpfm.rb +42 -0
  281. data/lib/mediawiktory/wikipedia/modules/prefixsearch.rb +72 -0
  282. data/lib/mediawiktory/wikipedia/modules/projectpages.rb +58 -0
  283. data/lib/mediawiktory/wikipedia/modules/projects.rb +29 -0
  284. data/lib/mediawiktory/wikipedia/modules/protectedtitles.rb +106 -0
  285. data/lib/mediawiktory/wikipedia/modules/querypage.rb +51 -0
  286. data/lib/mediawiktory/wikipedia/modules/random.rb +71 -0
  287. data/lib/mediawiktory/wikipedia/modules/rawfm.rb +29 -0
  288. data/lib/mediawiktory/wikipedia/modules/recentchanges.rb +170 -0
  289. data/lib/mediawiktory/wikipedia/modules/redirects.rb +77 -0
  290. data/lib/mediawiktory/wikipedia/modules/references.rb +30 -0
  291. data/lib/mediawiktory/wikipedia/modules/revisions.rb +198 -0
  292. data/lib/mediawiktory/wikipedia/modules/search.rb +125 -0
  293. data/lib/mediawiktory/wikipedia/modules/siteinfo.rb +70 -0
  294. data/lib/mediawiktory/wikipedia/modules/siteviews.rb +43 -0
  295. data/lib/mediawiktory/wikipedia/modules/stashimageinfo.rb +85 -0
  296. data/lib/mediawiktory/wikipedia/modules/tags.rb +51 -0
  297. data/lib/mediawiktory/wikipedia/modules/templates.rb +77 -0
  298. data/lib/mediawiktory/wikipedia/modules/tokens.rb +35 -0
  299. data/lib/mediawiktory/wikipedia/modules/transcludedin.rb +77 -0
  300. data/lib/mediawiktory/wikipedia/modules/transcodestatus.rb +22 -0
  301. data/lib/mediawiktory/wikipedia/modules/unreadnotificationpages.rb +50 -0
  302. data/lib/mediawiktory/wikipedia/modules/usercontribs.rb +155 -0
  303. data/lib/mediawiktory/wikipedia/modules/userinfo.rb +43 -0
  304. data/lib/mediawiktory/wikipedia/modules/users.rb +82 -0
  305. data/lib/mediawiktory/wikipedia/modules/videoinfo.rb +143 -0
  306. data/lib/mediawiktory/wikipedia/modules/watchlist.rb +158 -0
  307. data/lib/mediawiktory/wikipedia/modules/watchlistraw.rb +122 -0
  308. data/lib/mediawiktory/wikipedia/modules/wbentityusage.rb +77 -0
  309. data/lib/mediawiktory/wikipedia/modules/wblistentityusage.rb +77 -0
  310. data/lib/mediawiktory/wikipedia/modules/wikibase.rb +35 -0
  311. data/lib/mediawiktory/wikipedia/modules/wikisets.rb +58 -0
  312. data/lib/mediawiktory/wikipedia/modules/xml.rb +37 -0
  313. data/lib/mediawiktory/wikipedia/modules/xmlfm.rb +44 -0
  314. data/lib/mediawiktory/wikipedia/response.rb +122 -0
  315. data/lib/nokogiri/more.rb +12 -12
  316. data/mediawiktory.gemspec +4 -0
  317. metadata +350 -257
  318. data/bin/mediawiktory +0 -13
  319. data/doc/mediawiki_api_types.md +0 -14
  320. data/examples/query.rb +0 -15
  321. data/examples/query_generator.rb +0 -15
  322. data/lib/faraday/naive_cache.rb +0 -40
  323. data/lib/mediawiktory/action.rb +0 -61
  324. data/lib/mediawiktory/generated/abusefiltercheckmatch.rb +0 -9
  325. data/lib/mediawiktory/generated/abusefilterchecksyntax.rb +0 -6
  326. data/lib/mediawiktory/generated/abusefilterevalexpression.rb +0 -6
  327. data/lib/mediawiktory/generated/abusefilters.rb +0 -12
  328. data/lib/mediawiktory/generated/abusefilterunblockautopromote.rb +0 -8
  329. data/lib/mediawiktory/generated/abuselog.rb +0 -14
  330. data/lib/mediawiktory/generated/actions_mixin.rb +0 -352
  331. data/lib/mediawiktory/generated/addstudents.rb +0 -9
  332. data/lib/mediawiktory/generated/allcategories.rb +0 -15
  333. data/lib/mediawiktory/generated/alldeletedrevisions.rb +0 -28
  334. data/lib/mediawiktory/generated/allfileusages.rb +0 -14
  335. data/lib/mediawiktory/generated/allimages.rb +0 -23
  336. data/lib/mediawiktory/generated/alllinks.rb +0 -15
  337. data/lib/mediawiktory/generated/allmessages.rb +0 -19
  338. data/lib/mediawiktory/generated/allpages.rb +0 -21
  339. data/lib/mediawiktory/generated/allredirects.rb +0 -15
  340. data/lib/mediawiktory/generated/allrevisions.rb +0 -24
  341. data/lib/mediawiktory/generated/alltransclusions.rb +0 -15
  342. data/lib/mediawiktory/generated/allusers.rb +0 -18
  343. data/lib/mediawiktory/generated/antispoof.rb +0 -6
  344. data/lib/mediawiktory/generated/authmanagerinfo.rb +0 -10
  345. data/lib/mediawiktory/generated/babel.rb +0 -7
  346. data/lib/mediawiktory/generated/backlinks.rb +0 -14
  347. data/lib/mediawiktory/generated/betafeatures.rb +0 -7
  348. data/lib/mediawiktory/generated/block.rb +0 -20
  349. data/lib/mediawiktory/generated/blocks.rb +0 -16
  350. data/lib/mediawiktory/generated/bouncehandler.rb +0 -7
  351. data/lib/mediawiktory/generated/categories.rb +0 -12
  352. data/lib/mediawiktory/generated/categoryinfo.rb +0 -7
  353. data/lib/mediawiktory/generated/categorymembers.rb +0 -23
  354. data/lib/mediawiktory/generated/categorytree.rb +0 -7
  355. data/lib/mediawiktory/generated/centralauthtoken.rb +0 -5
  356. data/lib/mediawiktory/generated/centralnoticechoicedata.rb +0 -7
  357. data/lib/mediawiktory/generated/centralnoticelogs.rb +0 -11
  358. data/lib/mediawiktory/generated/centralnoticequerycampaign.rb +0 -6
  359. data/lib/mediawiktory/generated/changeauthenticationdata.rb +0 -10
  360. data/lib/mediawiktory/generated/checktoken.rb +0 -8
  361. data/lib/mediawiktory/generated/checkuser.rb +0 -14
  362. data/lib/mediawiktory/generated/checkuserlog.rb +0 -13
  363. data/lib/mediawiktory/generated/cirrus-config-dump.rb +0 -5
  364. data/lib/mediawiktory/generated/cirrus-mapping-dump.rb +0 -5
  365. data/lib/mediawiktory/generated/cirrus-settings-dump.rb +0 -5
  366. data/lib/mediawiktory/generated/clearhasmsg.rb +0 -6
  367. data/lib/mediawiktory/generated/clientlogin.rb +0 -15
  368. data/lib/mediawiktory/generated/compare.rb +0 -11
  369. data/lib/mediawiktory/generated/contenttranslation.rb +0 -12
  370. data/lib/mediawiktory/generated/contenttranslationcorpora.rb +0 -8
  371. data/lib/mediawiktory/generated/contenttranslationlangtrend.rb +0 -8
  372. data/lib/mediawiktory/generated/contenttranslationstats.rb +0 -5
  373. data/lib/mediawiktory/generated/contenttranslationsuggestions.rb +0 -11
  374. data/lib/mediawiktory/generated/contributors.rb +0 -12
  375. data/lib/mediawiktory/generated/coordinates.rb +0 -12
  376. data/lib/mediawiktory/generated/createaccount.rb +0 -15
  377. data/lib/mediawiktory/generated/cspreport.rb +0 -8
  378. data/lib/mediawiktory/generated/cxconfiguration.rb +0 -7
  379. data/lib/mediawiktory/generated/cxdelete.rb +0 -10
  380. data/lib/mediawiktory/generated/cxpublish.rb +0 -15
  381. data/lib/mediawiktory/generated/cxpublishedtranslations.rb +0 -9
  382. data/lib/mediawiktory/generated/cxsave.rb +0 -14
  383. data/lib/mediawiktory/generated/cxsuggestionlist.rb +0 -12
  384. data/lib/mediawiktory/generated/cxtoken.rb +0 -7
  385. data/lib/mediawiktory/generated/cxtranslatorstats.rb +0 -6
  386. data/lib/mediawiktory/generated/delete.rb +0 -15
  387. data/lib/mediawiktory/generated/deletedrevisions.rb +0 -23
  388. data/lib/mediawiktory/generated/deletedrevs.rb +0 -20
  389. data/lib/mediawiktory/generated/deleteeducation.rb +0 -10
  390. data/lib/mediawiktory/generated/deleteglobalaccount.rb +0 -9
  391. data/lib/mediawiktory/generated/duplicatefiles.rb +0 -10
  392. data/lib/mediawiktory/generated/echomarkread.rb +0 -11
  393. data/lib/mediawiktory/generated/echomarkseen.rb +0 -9
  394. data/lib/mediawiktory/generated/edit.rb +0 -35
  395. data/lib/mediawiktory/generated/editmassmessagelist.rb +0 -10
  396. data/lib/mediawiktory/generated/emailuser.rb +0 -11
  397. data/lib/mediawiktory/generated/embeddedin.rb +0 -13
  398. data/lib/mediawiktory/generated/enlist.rb +0 -13
  399. data/lib/mediawiktory/generated/expandtemplates.rb +0 -16
  400. data/lib/mediawiktory/generated/extlinks.rb +0 -11
  401. data/lib/mediawiktory/generated/extracts.rb +0 -13
  402. data/lib/mediawiktory/generated/exturlusage.rb +0 -13
  403. data/lib/mediawiktory/generated/fancycaptchareload.rb +0 -5
  404. data/lib/mediawiktory/generated/featuredfeed.rb +0 -8
  405. data/lib/mediawiktory/generated/featureusage.rb +0 -10
  406. data/lib/mediawiktory/generated/feedcontributions.rb +0 -16
  407. data/lib/mediawiktory/generated/feedrecentchanges.rb +0 -22
  408. data/lib/mediawiktory/generated/feedwatchlist.rb +0 -14
  409. data/lib/mediawiktory/generated/filearchive.rb +0 -15
  410. data/lib/mediawiktory/generated/filerepoinfo.rb +0 -7
  411. data/lib/mediawiktory/generated/filerevert.rb +0 -10
  412. data/lib/mediawiktory/generated/fileusage.rb +0 -11
  413. data/lib/mediawiktory/generated/flagconfig.rb +0 -5
  414. data/lib/mediawiktory/generated/flagged.rb +0 -5
  415. data/lib/mediawiktory/generated/gadgetcategories.rb +0 -8
  416. data/lib/mediawiktory/generated/gadgets.rb +0 -11
  417. data/lib/mediawiktory/generated/geosearch.rb +0 -17
  418. data/lib/mediawiktory/generated/gettingstartedgetpages.rb +0 -9
  419. data/lib/mediawiktory/generated/globalallusers.rb +0 -14
  420. data/lib/mediawiktory/generated/globalblock.rb +0 -13
  421. data/lib/mediawiktory/generated/globalblocks.rb +0 -14
  422. data/lib/mediawiktory/generated/globalgroups.rb +0 -7
  423. data/lib/mediawiktory/generated/globalusage.rb +0 -10
  424. data/lib/mediawiktory/generated/globaluserinfo.rb +0 -8
  425. data/lib/mediawiktory/generated/globaluserrights.rb +0 -13
  426. data/lib/mediawiktory/generated/graph.rb +0 -8
  427. data/lib/mediawiktory/generated/help.rb +0 -10
  428. data/lib/mediawiktory/generated/imageinfo.rb +0 -20
  429. data/lib/mediawiktory/generated/imagerotate.rb +0 -5
  430. data/lib/mediawiktory/generated/images.rb +0 -10
  431. data/lib/mediawiktory/generated/imageusage.rb +0 -14
  432. data/lib/mediawiktory/generated/import.rb +0 -16
  433. data/lib/mediawiktory/generated/info.rb +0 -10
  434. data/lib/mediawiktory/generated/iwbacklinks.rb +0 -12
  435. data/lib/mediawiktory/generated/iwlinks.rb +0 -13
  436. data/lib/mediawiktory/generated/jsonconfig.rb +0 -9
  437. data/lib/mediawiktory/generated/jsondata.rb +0 -6
  438. data/lib/mediawiktory/generated/langbacklinks.rb +0 -12
  439. data/lib/mediawiktory/generated/langlinks.rb +0 -14
  440. data/lib/mediawiktory/generated/languagesearch.rb +0 -7
  441. data/lib/mediawiktory/generated/linkaccount.rb +0 -14
  442. data/lib/mediawiktory/generated/links.rb +0 -11
  443. data/lib/mediawiktory/generated/linkshere.rb +0 -11
  444. data/lib/mediawiktory/generated/liststudents.rb +0 -9
  445. data/lib/mediawiktory/generated/logevents.rb +0 -19
  446. data/lib/mediawiktory/generated/login.rb +0 -11
  447. data/lib/mediawiktory/generated/logout.rb +0 -5
  448. data/lib/mediawiktory/generated/managetags.rb +0 -12
  449. data/lib/mediawiktory/generated/mapdata.rb +0 -9
  450. data/lib/mediawiktory/generated/massmessage.rb +0 -10
  451. data/lib/mediawiktory/generated/mergehistory.rb +0 -13
  452. data/lib/mediawiktory/generated/mmsites.rb +0 -6
  453. data/lib/mediawiktory/generated/mobileview.rb +0 -22
  454. data/lib/mediawiktory/generated/mostviewed.rb +0 -9
  455. data/lib/mediawiktory/generated/move.rb +0 -19
  456. data/lib/mediawiktory/generated/mystashedfiles.rb +0 -9
  457. data/lib/mediawiktory/generated/notifications.rb +0 -22
  458. data/lib/mediawiktory/generated/oath.rb +0 -7
  459. data/lib/mediawiktory/generated/oathvalidate.rb +0 -9
  460. data/lib/mediawiktory/generated/oldreviewedpages.rb +0 -15
  461. data/lib/mediawiktory/generated/opensearch.rb +0 -12
  462. data/lib/mediawiktory/generated/options.rb +0 -12
  463. data/lib/mediawiktory/generated/ores.rb +0 -6
  464. data/lib/mediawiktory/generated/pageassessments.rb +0 -9
  465. data/lib/mediawiktory/generated/pageimages.rb +0 -11
  466. data/lib/mediawiktory/generated/pagepropnames.rb +0 -8
  467. data/lib/mediawiktory/generated/pageprops.rb +0 -8
  468. data/lib/mediawiktory/generated/pageswithprop.rb +0 -11
  469. data/lib/mediawiktory/generated/pageterms.rb +0 -8
  470. data/lib/mediawiktory/generated/pagetriageaction.rb +0 -11
  471. data/lib/mediawiktory/generated/pagetriagelist.rb +0 -21
  472. data/lib/mediawiktory/generated/pagetriagestats.rb +0 -10
  473. data/lib/mediawiktory/generated/pagetriagetagging.rb +0 -13
  474. data/lib/mediawiktory/generated/pagetriagetemplate.rb +0 -7
  475. data/lib/mediawiktory/generated/pageviews.rb +0 -9
  476. data/lib/mediawiktory/generated/paraminfo.rb +0 -11
  477. data/lib/mediawiktory/generated/parse.rb +0 -36
  478. data/lib/mediawiktory/generated/parsoid-batch.rb +0 -6
  479. data/lib/mediawiktory/generated/patrol.rb +0 -10
  480. data/lib/mediawiktory/generated/prefixsearch.rb +0 -10
  481. data/lib/mediawiktory/generated/projectpages.rb +0 -10
  482. data/lib/mediawiktory/generated/projects.rb +0 -7
  483. data/lib/mediawiktory/generated/protect.rb +0 -16
  484. data/lib/mediawiktory/generated/protectedtitles.rb +0 -14
  485. data/lib/mediawiktory/generated/purge.rb +0 -15
  486. data/lib/mediawiktory/generated/query.rb +0 -20
  487. data/lib/mediawiktory/generated/querypage.rb +0 -9
  488. data/lib/mediawiktory/generated/random.rb +0 -11
  489. data/lib/mediawiktory/generated/recentchanges.rb +0 -21
  490. data/lib/mediawiktory/generated/redirects.rb +0 -11
  491. data/lib/mediawiktory/generated/references.rb +0 -7
  492. data/lib/mediawiktory/generated/refresheducation.rb +0 -9
  493. data/lib/mediawiktory/generated/removeauthenticationdata.rb +0 -8
  494. data/lib/mediawiktory/generated/resetpassword.rb +0 -9
  495. data/lib/mediawiktory/generated/review.rb +0 -10
  496. data/lib/mediawiktory/generated/reviewactivity.rb +0 -10
  497. data/lib/mediawiktory/generated/revisiondelete.rb +0 -15
  498. data/lib/mediawiktory/generated/revisions.rb +0 -26
  499. data/lib/mediawiktory/generated/rollback.rb +0 -14
  500. data/lib/mediawiktory/generated/rsd.rb +0 -5
  501. data/lib/mediawiktory/generated/sanitize-mapdata.rb +0 -8
  502. data/lib/mediawiktory/generated/scribunto-console.rb +0 -10
  503. data/lib/mediawiktory/generated/search.rb +0 -16
  504. data/lib/mediawiktory/generated/setglobalaccountstatus.rb +0 -12
  505. data/lib/mediawiktory/generated/setnotificationtimestamp.rb +0 -18
  506. data/lib/mediawiktory/generated/setpagelanguage.rb +0 -12
  507. data/lib/mediawiktory/generated/shortenurl.rb +0 -7
  508. data/lib/mediawiktory/generated/siteinfo.rb +0 -11
  509. data/lib/mediawiktory/generated/sitematrix.rb +0 -12
  510. data/lib/mediawiktory/generated/siteviews.rb +0 -8
  511. data/lib/mediawiktory/generated/spamblacklist.rb +0 -6
  512. data/lib/mediawiktory/generated/stabilize.rb +0 -12
  513. data/lib/mediawiktory/generated/stashedit.rb +0 -16
  514. data/lib/mediawiktory/generated/stashimageinfo.rb +0 -12
  515. data/lib/mediawiktory/generated/strikevote.rb +0 -10
  516. data/lib/mediawiktory/generated/tag.rb +0 -14
  517. data/lib/mediawiktory/generated/tags.rb +0 -9
  518. data/lib/mediawiktory/generated/templatedata.rb +0 -12
  519. data/lib/mediawiktory/generated/templates.rb +0 -11
  520. data/lib/mediawiktory/generated/thank.rb +0 -9
  521. data/lib/mediawiktory/generated/titleblacklist.rb +0 -9
  522. data/lib/mediawiktory/generated/tokens.rb +0 -6
  523. data/lib/mediawiktory/generated/transcludedin.rb +0 -11
  524. data/lib/mediawiktory/generated/transcodereset.rb +0 -9
  525. data/lib/mediawiktory/generated/transcodestatus.rb +0 -5
  526. data/lib/mediawiktory/generated/ulslocalization.rb +0 -6
  527. data/lib/mediawiktory/generated/unblock.rb +0 -12
  528. data/lib/mediawiktory/generated/undelete.rb +0 -13
  529. data/lib/mediawiktory/generated/unlinkaccount.rb +0 -8
  530. data/lib/mediawiktory/generated/unreadnotificationpages.rb +0 -9
  531. data/lib/mediawiktory/generated/upload.rb +0 -24
  532. data/lib/mediawiktory/generated/usercontribs.rb +0 -19
  533. data/lib/mediawiktory/generated/userinfo.rb +0 -8
  534. data/lib/mediawiktory/generated/userrights.rb +0 -13
  535. data/lib/mediawiktory/generated/users.rb +0 -11
  536. data/lib/mediawiktory/generated/validatepassword.rb +0 -10
  537. data/lib/mediawiktory/generated/videoinfo.rb +0 -20
  538. data/lib/mediawiktory/generated/visualeditor.rb +0 -13
  539. data/lib/mediawiktory/generated/visualeditoredit.rb +0 -23
  540. data/lib/mediawiktory/generated/watch.rb +0 -16
  541. data/lib/mediawiktory/generated/watchlist.rb +0 -20
  542. data/lib/mediawiktory/generated/watchlistraw.rb +0 -16
  543. data/lib/mediawiktory/generated/wbentityusage.rb +0 -11
  544. data/lib/mediawiktory/generated/wblistentityusage.rb +0 -11
  545. data/lib/mediawiktory/generated/webapp-manifest.rb +0 -5
  546. data/lib/mediawiktory/generated/wikibase.rb +0 -7
  547. data/lib/mediawiktory/generated/wikilove.rb +0 -13
  548. data/lib/mediawiktory/generated/wikisets.rb +0 -10
  549. data/lib/mediawiktory/generated/zeroconfig.rb +0 -7
  550. data/lib/mediawiktory/mw_module.rb +0 -324
  551. data/lib/mediawiktory/page.rb +0 -50
  552. data/lib/mediawiktory/query.rb +0 -58
  553. data/script/data/api.yaml +0 -40414
  554. data/script/lib/api.rb +0 -14
  555. data/script/lib/module.rb +0 -132
  556. data/script/lib/parameter.rb +0 -133
  557. data/script/parse_api.rb +0 -21
  558. data/test/cache.rb +0 -15
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Fetch data stored by the TemplateData extension.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.templatedata.titles(value).perform # returns string with raw output
11
+ # # or
12
+ # api.templatedata.titles(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Templatedata < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # A list of titles to work on.
23
+ #
24
+ # @param values [Array<String>]
25
+ # @return [self]
26
+ def titles(*values)
27
+ values.inject(self) { |res, val| res._titles(val) }
28
+ end
29
+
30
+ # @private
31
+ def _titles(value)
32
+ merge(titles: value.to_s, replace: false)
33
+ end
34
+
35
+ # A list of page IDs to work on.
36
+ #
37
+ # @param values [Array<Integer>]
38
+ # @return [self]
39
+ def pageids(*values)
40
+ values.inject(self) { |res, val| res._pageids(val) }
41
+ end
42
+
43
+ # @private
44
+ def _pageids(value)
45
+ merge(pageids: value.to_s, replace: false)
46
+ end
47
+
48
+ # A list of revision IDs to work on.
49
+ #
50
+ # @param values [Array<Integer>]
51
+ # @return [self]
52
+ def revids(*values)
53
+ values.inject(self) { |res, val| res._revids(val) }
54
+ end
55
+
56
+ # @private
57
+ def _revids(value)
58
+ merge(revids: value.to_s, replace: false)
59
+ end
60
+
61
+ # Get the list of pages to work on by executing the specified query module.
62
+ #
63
+ # @param value [Symbol] Selecting an option includes tweaking methods from corresponding module:
64
+ # * `:allcategories` - {MediaWiktory::Wikipedia::Modules::Allcategories} Enumerate all categories.
65
+ # * `:alldeletedrevisions` - {MediaWiktory::Wikipedia::Modules::Alldeletedrevisions} List all deleted revisions by a user or in a namespace.
66
+ # * `:allfileusages` - {MediaWiktory::Wikipedia::Modules::Allfileusages} List all file usages, including non-existing.
67
+ # * `:allimages` - {MediaWiktory::Wikipedia::Modules::Allimages} Enumerate all images sequentially.
68
+ # * `:alllinks` - {MediaWiktory::Wikipedia::Modules::Alllinks} Enumerate all links that point to a given namespace.
69
+ # * `:allpages` - {MediaWiktory::Wikipedia::Modules::Allpages} Enumerate all pages sequentially in a given namespace.
70
+ # * `:allredirects` - {MediaWiktory::Wikipedia::Modules::Allredirects} List all redirects to a namespace.
71
+ # * `:allrevisions` - {MediaWiktory::Wikipedia::Modules::Allrevisions} List all revisions.
72
+ # * `:alltransclusions` - {MediaWiktory::Wikipedia::Modules::Alltransclusions} List all transclusions (pages embedded using {{x}}), including non-existing.
73
+ # * `:backlinks` - {MediaWiktory::Wikipedia::Modules::Backlinks} Find all pages that link to the given page.
74
+ # * `:categories` - {MediaWiktory::Wikipedia::Modules::Categories} List all categories the pages belong to.
75
+ # * `:categorymembers` - {MediaWiktory::Wikipedia::Modules::Categorymembers} List all pages in a given category.
76
+ # * `:contenttranslation` - {MediaWiktory::Wikipedia::Modules::Contenttranslation} Query Content Translation database for translations.
77
+ # * `:contenttranslationsuggestions` - {MediaWiktory::Wikipedia::Modules::Contenttranslationsuggestions} Get suggestion lists for Content Translation.
78
+ # * `:deletedrevisions` - {MediaWiktory::Wikipedia::Modules::Deletedrevisions} Get deleted revision information.
79
+ # * `:duplicatefiles` - {MediaWiktory::Wikipedia::Modules::Duplicatefiles} List all files that are duplicates of the given files based on hash values.
80
+ # * `:embeddedin` - {MediaWiktory::Wikipedia::Modules::Embeddedin} Find all pages that embed (transclude) the given title.
81
+ # * `:exturlusage` - {MediaWiktory::Wikipedia::Modules::Exturlusage} Enumerate pages that contain a given URL.
82
+ # * `:fileusage` - {MediaWiktory::Wikipedia::Modules::Fileusage} Find all pages that use the given files.
83
+ # * `:geosearch` - {MediaWiktory::Wikipedia::Modules::Geosearch} Returns pages having coordinates that are located in a certain area.
84
+ # * `:gettingstartedgetpages` - {MediaWiktory::Wikipedia::Modules::Gettingstartedgetpages} This API is for getting a list of one or more pages related to a particular GettingStarted task.
85
+ # * `:images` - {MediaWiktory::Wikipedia::Modules::Images} Returns all files contained on the given pages.
86
+ # * `:imageusage` - {MediaWiktory::Wikipedia::Modules::Imageusage} Find all pages that use the given image title.
87
+ # * `:iwbacklinks` - {MediaWiktory::Wikipedia::Modules::Iwbacklinks} Find all pages that link to the given interwiki link.
88
+ # * `:langbacklinks` - {MediaWiktory::Wikipedia::Modules::Langbacklinks} Find all pages that link to the given language link.
89
+ # * `:links` - {MediaWiktory::Wikipedia::Modules::Links} Returns all links from the given pages.
90
+ # * `:linkshere` - {MediaWiktory::Wikipedia::Modules::Linkshere} Find all pages that link to the given pages.
91
+ # * `:mostviewed` - {MediaWiktory::Wikipedia::Modules::Mostviewed} Lists the most viewed pages (based on last day's pageview count).
92
+ # * `:oldreviewedpages` - {MediaWiktory::Wikipedia::Modules::Oldreviewedpages} Enumerates pages that have changes pending review.
93
+ # * `:pageswithprop` - {MediaWiktory::Wikipedia::Modules::Pageswithprop} List all pages using a given page property.
94
+ # * `:prefixsearch` - {MediaWiktory::Wikipedia::Modules::Prefixsearch} Perform a prefix search for page titles.
95
+ # * `:projectpages` - {MediaWiktory::Wikipedia::Modules::Projectpages} List all pages associated with one or more projects.
96
+ # * `:protectedtitles` - {MediaWiktory::Wikipedia::Modules::Protectedtitles} List all titles protected from creation.
97
+ # * `:querypage` - {MediaWiktory::Wikipedia::Modules::Querypage} Get a list provided by a QueryPage-based special page.
98
+ # * `:random` - {MediaWiktory::Wikipedia::Modules::Random} Get a set of random pages.
99
+ # * `:recentchanges` - {MediaWiktory::Wikipedia::Modules::Recentchanges} Enumerate recent changes.
100
+ # * `:redirects` - {MediaWiktory::Wikipedia::Modules::Redirects} Returns all redirects to the given pages.
101
+ # * `:revisions` - {MediaWiktory::Wikipedia::Modules::Revisions} Get revision information.
102
+ # * `:search` - {MediaWiktory::Wikipedia::Modules::Search} Perform a full text search.
103
+ # * `:templates` - {MediaWiktory::Wikipedia::Modules::Templates} Returns all pages transcluded on the given pages.
104
+ # * `:transcludedin` - {MediaWiktory::Wikipedia::Modules::Transcludedin} Find all pages that transclude the given pages.
105
+ # * `:watchlist` - {MediaWiktory::Wikipedia::Modules::Watchlist} Get recent changes to pages in the current user's watchlist.
106
+ # * `:watchlistraw` - {MediaWiktory::Wikipedia::Modules::Watchlistraw} Get all pages on the current user's watchlist.
107
+ # * `:wblistentityusage` - {MediaWiktory::Wikipedia::Modules::Wblistentityusage} Returns all pages that use the given entity IDs.
108
+ # @return [self]
109
+ def generator(value)
110
+ _generator(value) or fail ArgumentError, "Unknown value for generator: #{value}"
111
+ end
112
+
113
+ # @private
114
+ def _generator(value)
115
+ defined?(super) && super || [:allcategories, :alldeletedrevisions, :allfileusages, :allimages, :alllinks, :allpages, :allredirects, :allrevisions, :alltransclusions, :backlinks, :categories, :categorymembers, :contenttranslation, :contenttranslationsuggestions, :deletedrevisions, :duplicatefiles, :embeddedin, :exturlusage, :fileusage, :geosearch, :gettingstartedgetpages, :images, :imageusage, :iwbacklinks, :langbacklinks, :links, :linkshere, :mostviewed, :oldreviewedpages, :pageswithprop, :prefixsearch, :projectpages, :protectedtitles, :querypage, :random, :recentchanges, :redirects, :revisions, :search, :templates, :transcludedin, :watchlist, :watchlistraw, :wblistentityusage].include?(value.to_sym) && merge(generator: value.to_s).submodule({allcategories: Modules::Allcategories, alldeletedrevisions: Modules::Alldeletedrevisions, allfileusages: Modules::Allfileusages, allimages: Modules::Allimages, alllinks: Modules::Alllinks, allpages: Modules::Allpages, allredirects: Modules::Allredirects, allrevisions: Modules::Allrevisions, alltransclusions: Modules::Alltransclusions, backlinks: Modules::Backlinks, categories: Modules::Categories, categorymembers: Modules::Categorymembers, contenttranslation: Modules::Contenttranslation, contenttranslationsuggestions: Modules::Contenttranslationsuggestions, deletedrevisions: Modules::Deletedrevisions, duplicatefiles: Modules::Duplicatefiles, embeddedin: Modules::Embeddedin, exturlusage: Modules::Exturlusage, fileusage: Modules::Fileusage, geosearch: Modules::Geosearch, gettingstartedgetpages: Modules::Gettingstartedgetpages, images: Modules::Images, imageusage: Modules::Imageusage, iwbacklinks: Modules::Iwbacklinks, langbacklinks: Modules::Langbacklinks, links: Modules::Links, linkshere: Modules::Linkshere, mostviewed: Modules::Mostviewed, oldreviewedpages: Modules::Oldreviewedpages, pageswithprop: Modules::Pageswithprop, prefixsearch: Modules::Prefixsearch, projectpages: Modules::Projectpages, protectedtitles: Modules::Protectedtitles, querypage: Modules::Querypage, random: Modules::Random, recentchanges: Modules::Recentchanges, redirects: Modules::Redirects, revisions: Modules::Revisions, search: Modules::Search, templates: Modules::Templates, transcludedin: Modules::Transcludedin, watchlist: Modules::Watchlist, watchlistraw: Modules::Watchlistraw, wblistentityusage: Modules::Wblistentityusage}[value.to_sym])
116
+ end
117
+
118
+ # Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.
119
+ #
120
+ # @return [self]
121
+ def redirects()
122
+ merge(redirects: 'true')
123
+ end
124
+
125
+ # Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz and zh.
126
+ #
127
+ # @return [self]
128
+ def converttitles()
129
+ merge(converttitles: 'true')
130
+ end
131
+
132
+ # Return data about titles even if they are missing or lack TemplateData. By default (for backwards compatibility) titles are only returned if they exist and have TemplateData.
133
+ #
134
+ # @return [self]
135
+ def doNotIgnoreMissingTitles()
136
+ merge(doNotIgnoreMissingTitles: 'true')
137
+ end
138
+
139
+ # Return localized values in this language. By default all available translations are returned.
140
+ #
141
+ # @param value [String]
142
+ # @return [self]
143
+ def lang(value)
144
+ merge(lang: value.to_s)
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Send a thank-you notification to an editor.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.thank.rev(value).perform # returns string with raw output
11
+ # # or
12
+ # api.thank.rev(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Thank < MediaWiktory::Wikipedia::Actions::Post
21
+
22
+ # Revision ID to thank someone for.
23
+ #
24
+ # @param value [Integer]
25
+ # @return [self]
26
+ def rev(value)
27
+ merge(rev: value.to_s)
28
+ end
29
+
30
+ # A "csrf" token retrieved from action=query&meta=tokens
31
+ #
32
+ # @param value [String]
33
+ # @return [self]
34
+ def token(value)
35
+ merge(token: value.to_s)
36
+ end
37
+
38
+ # A short string describing the source of the request, for example diff or history.
39
+ #
40
+ # @param value [String]
41
+ # @return [self]
42
+ def source(value)
43
+ merge(source: value.to_s)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Validate an article title, filename, or username against the TitleBlacklist.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.titleblacklist.title(value).perform # returns string with raw output
11
+ # # or
12
+ # api.titleblacklist.title(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Titleblacklist < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # The string to validate against the blacklist.
23
+ #
24
+ # @param value [String]
25
+ # @return [self]
26
+ def title(value)
27
+ merge(tbtitle: value.to_s)
28
+ end
29
+
30
+ # The action to be checked.
31
+ #
32
+ # @param value [String] One of "create", "edit", "upload", "createtalk", "createpage", "move", "new-account".
33
+ # @return [self]
34
+ def action(value)
35
+ _action(value) or fail ArgumentError, "Unknown value for action: #{value}"
36
+ end
37
+
38
+ # @private
39
+ def _action(value)
40
+ defined?(super) && super || ["create", "edit", "upload", "createtalk", "createpage", "move", "new-account"].include?(value.to_s) && merge(tbaction: value.to_s)
41
+ end
42
+
43
+ # Don't try to override the titleblacklist.
44
+ #
45
+ # @return [self]
46
+ def nooverride()
47
+ merge(tbnooverride: 'true')
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Get tokens for data-modifying actions.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.tokens.type(value).perform # returns string with raw output
11
+ # # or
12
+ # api.tokens.type(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Tokens < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # Types of token to request.
23
+ #
24
+ # @param values [Array<String>] Allowed values: "block", "createaccount", "csrf", "delete", "deleteglobalaccount", "edit", "email", "import", "login", "move", "options", "patrol", "protect", "rollback", "setglobalaccountstatus", "unblock", "userrights", "watch".
25
+ # @return [self]
26
+ def type(*values)
27
+ values.inject(self) { |res, val| res._type(val) or fail ArgumentError, "Unknown value for type: #{val}" }
28
+ end
29
+
30
+ # @private
31
+ def _type(value)
32
+ defined?(super) && super || ["block", "createaccount", "csrf", "delete", "deleteglobalaccount", "edit", "email", "import", "login", "move", "options", "patrol", "protect", "rollback", "setglobalaccountstatus", "unblock", "userrights", "watch"].include?(value.to_s) && merge(type: value.to_s, replace: false)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Users with the 'transcode-reset' right can reset and re-run a transcode job.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.transcodereset.title(value).perform # returns string with raw output
11
+ # # or
12
+ # api.transcodereset.title(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Transcodereset < MediaWiktory::Wikipedia::Actions::Post
21
+
22
+ # The media file title.
23
+ #
24
+ # @param value [String]
25
+ # @return [self]
26
+ def title(value)
27
+ merge(title: value.to_s)
28
+ end
29
+
30
+ # The transcode key you wish to reset. Fetch from action=query&prop=transcodestatus.
31
+ #
32
+ # @param value [String]
33
+ # @return [self]
34
+ def transcodekey(value)
35
+ merge(transcodekey: value.to_s)
36
+ end
37
+
38
+ # A "csrf" token retrieved from action=query&meta=tokens
39
+ #
40
+ # @param value [String]
41
+ # @return [self]
42
+ def token(value)
43
+ merge(token: value.to_s)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Get the localization of ULS in the given language.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.ulslocalization.language(value).perform # returns string with raw output
11
+ # # or
12
+ # api.ulslocalization.language(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Ulslocalization < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # Language code.
23
+ #
24
+ # @param value [String]
25
+ # @return [self]
26
+ def language(value)
27
+ merge(language: value.to_s)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Unblock a user.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.unblock.id(value).perform # returns string with raw output
11
+ # # or
12
+ # api.unblock.id(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Unblock < MediaWiktory::Wikipedia::Actions::Post
21
+
22
+ # ID of the block to unblock (obtained through list=blocks). Cannot be used together with user or userid.
23
+ #
24
+ # @param value [Integer]
25
+ # @return [self]
26
+ def id(value)
27
+ merge(id: value.to_s)
28
+ end
29
+
30
+ # Username, IP address or IP address range to unblock. Cannot be used together with id or userid.
31
+ #
32
+ # @param value [String]
33
+ # @return [self]
34
+ def user(value)
35
+ merge(user: value.to_s)
36
+ end
37
+
38
+ # User ID to unblock. Cannot be used together with id or user.
39
+ #
40
+ # @param value [Integer]
41
+ # @return [self]
42
+ def userid(value)
43
+ merge(userid: value.to_s)
44
+ end
45
+
46
+ # Reason for unblock.
47
+ #
48
+ # @param value [String]
49
+ # @return [self]
50
+ def reason(value)
51
+ merge(reason: value.to_s)
52
+ end
53
+
54
+ # Change tags to apply to the entry in the block log.
55
+ #
56
+ # @param values [Array<String>] Allowed values: "ProveIt edit", "WPCleaner", "huggle", "large plot addition".
57
+ # @return [self]
58
+ def tags(*values)
59
+ values.inject(self) { |res, val| res._tags(val) or fail ArgumentError, "Unknown value for tags: #{val}" }
60
+ end
61
+
62
+ # @private
63
+ def _tags(value)
64
+ defined?(super) && super || ["ProveIt edit", "WPCleaner", "huggle", "large plot addition"].include?(value.to_s) && merge(tags: value.to_s, replace: false)
65
+ end
66
+
67
+ # A "csrf" token retrieved from action=query&meta=tokens
68
+ #
69
+ # @param value [String]
70
+ # @return [self]
71
+ def token(value)
72
+ merge(token: value.to_s)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Restore revisions of a deleted page.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.undelete.title(value).perform # returns string with raw output
11
+ # # or
12
+ # api.undelete.title(value).response # returns output parsed and wrapped into Response object
13
+ # ```
14
+ #
15
+ # See {Base} for generic explanation of working with MediaWiki actions and
16
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
17
+ #
18
+ # All action's parameters are documented as its public methods, see below.
19
+ #
20
+ class Undelete < MediaWiktory::Wikipedia::Actions::Post
21
+
22
+ # Title of the page to restore.
23
+ #
24
+ # @param value [String]
25
+ # @return [self]
26
+ def title(value)
27
+ merge(title: value.to_s)
28
+ end
29
+
30
+ # Reason for restoring.
31
+ #
32
+ # @param value [String]
33
+ # @return [self]
34
+ def reason(value)
35
+ merge(reason: value.to_s)
36
+ end
37
+
38
+ # Change tags to apply to the entry in the deletion log.
39
+ #
40
+ # @param values [Array<String>] Allowed values: "ProveIt edit", "WPCleaner", "huggle", "large plot addition".
41
+ # @return [self]
42
+ def tags(*values)
43
+ values.inject(self) { |res, val| res._tags(val) or fail ArgumentError, "Unknown value for tags: #{val}" }
44
+ end
45
+
46
+ # @private
47
+ def _tags(value)
48
+ defined?(super) && super || ["ProveIt edit", "WPCleaner", "huggle", "large plot addition"].include?(value.to_s) && merge(tags: value.to_s, replace: false)
49
+ end
50
+
51
+ # Timestamps of the revisions to restore. If both timestamps and fileids are empty, all will be restored.
52
+ #
53
+ # @param values [Array<Time>]
54
+ # @return [self]
55
+ def timestamps(*values)
56
+ values.inject(self) { |res, val| res._timestamps(val) }
57
+ end
58
+
59
+ # @private
60
+ def _timestamps(value)
61
+ merge(timestamps: value.iso8601, replace: false)
62
+ end
63
+
64
+ # IDs of the file revisions to restore. If both timestamps and fileids are empty, all will be restored.
65
+ #
66
+ # @param values [Array<Integer>]
67
+ # @return [self]
68
+ def fileids(*values)
69
+ values.inject(self) { |res, val| res._fileids(val) }
70
+ end
71
+
72
+ # @private
73
+ def _fileids(value)
74
+ merge(fileids: value.to_s, replace: false)
75
+ end
76
+
77
+ # Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.
78
+ #
79
+ # @param value [String] One of "watch", "unwatch", "preferences", "nochange".
80
+ # @return [self]
81
+ def watchlist(value)
82
+ _watchlist(value) or fail ArgumentError, "Unknown value for watchlist: #{value}"
83
+ end
84
+
85
+ # @private
86
+ def _watchlist(value)
87
+ defined?(super) && super || ["watch", "unwatch", "preferences", "nochange"].include?(value.to_s) && merge(watchlist: value.to_s)
88
+ end
89
+
90
+ # A "csrf" token retrieved from action=query&meta=tokens
91
+ #
92
+ # @param value [String]
93
+ # @return [self]
94
+ def token(value)
95
+ merge(token: value.to_s)
96
+ end
97
+ end
98
+ end
99
+ end