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,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Associate or disassociate a user as instructor or volunteer for a course.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.enlist.subaction(value).perform # returns string with raw output
11
+ # # or
12
+ # api.enlist.subaction(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 Enlist < MediaWiktory::Wikipedia::Actions::Post
21
+
22
+ # Specifies what you want to do with the instructor or volunteer.
23
+ #
24
+ # @param value [String] One of "add", "remove".
25
+ # @return [self]
26
+ def subaction(value)
27
+ _subaction(value) or fail ArgumentError, "Unknown value for subaction: #{value}"
28
+ end
29
+
30
+ # @private
31
+ def _subaction(value)
32
+ defined?(super) && super || ["add", "remove"].include?(value.to_s) && merge(subaction: value.to_s)
33
+ end
34
+
35
+ # The role to affect. "instructor" for instructor, "online" for online volunteer and "campus" for campus volunteer.
36
+ #
37
+ # @param value [String] One of "instructor", "online", "campus", "student".
38
+ # @return [self]
39
+ def role(value)
40
+ _role(value) or fail ArgumentError, "Unknown value for role: #{value}"
41
+ end
42
+
43
+ # @private
44
+ def _role(value)
45
+ defined?(super) && super || ["instructor", "online", "campus", "student"].include?(value.to_s) && merge(role: value.to_s)
46
+ end
47
+
48
+ # Name of the user to associate or disassociate.
49
+ #
50
+ # @param value [String]
51
+ # @return [self]
52
+ def username(value)
53
+ merge(username: value.to_s)
54
+ end
55
+
56
+ # ID of the user to associate or disassociate.
57
+ #
58
+ # @param value [Integer]
59
+ # @return [self]
60
+ def userid(value)
61
+ merge(userid: value.to_s)
62
+ end
63
+
64
+ # The ID of the course.
65
+ #
66
+ # @param value [Integer]
67
+ # @return [self]
68
+ def courseid(value)
69
+ merge(courseid: value.to_s)
70
+ end
71
+
72
+ # Reason for this deletion, for the log.
73
+ #
74
+ # @param value [String]
75
+ # @return [self]
76
+ def reason(value)
77
+ merge(reason: value.to_s)
78
+ end
79
+
80
+ # A "csrf" token retrieved from action=query&meta=tokens
81
+ #
82
+ # @param value [String]
83
+ # @return [self]
84
+ def token(value)
85
+ merge(token: value.to_s)
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Expands all templates within wikitext.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.expandtemplates.title(value).perform # returns string with raw output
11
+ # # or
12
+ # api.expandtemplates.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 Expandtemplates < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # Title of page.
23
+ #
24
+ # @param value [String]
25
+ # @return [self]
26
+ def title(value)
27
+ merge(title: value.to_s)
28
+ end
29
+
30
+ # Wikitext to convert.
31
+ #
32
+ # @param value [String]
33
+ # @return [self]
34
+ def text(value)
35
+ merge(text: value.to_s)
36
+ end
37
+
38
+ # Revision ID, for {{REVISIONID}} and similar variables.
39
+ #
40
+ # @param value [Integer]
41
+ # @return [self]
42
+ def revid(value)
43
+ merge(revid: value.to_s)
44
+ end
45
+
46
+ # Which pieces of information to get.
47
+ #
48
+ # @param values [Array<String>] Allowed values: "wikitext" (The expanded wikitext), "categories" (Any categories present in the input that are not represented in the wikitext output), "properties" (Page properties defined by expanded magic words in the wikitext), "volatile" (Whether the output is volatile and should not be reused elsewhere within the page), "ttl" (The maximum time after which caches of the result should be invalidated), "modules" (Any ResourceLoader modules that parser functions have requested be added to the output. Either jsconfigvars or encodedjsconfigvars must be requested jointly with modules), "jsconfigvars" (Gives the JavaScript configuration variables specific to the page), "encodedjsconfigvars" (Gives the JavaScript configuration variables specific to the page as a JSON string), "parsetree" (The XML parse tree of the input).
49
+ # @return [self]
50
+ def prop(*values)
51
+ values.inject(self) { |res, val| res._prop(val) or fail ArgumentError, "Unknown value for prop: #{val}" }
52
+ end
53
+
54
+ # @private
55
+ def _prop(value)
56
+ defined?(super) && super || ["wikitext", "categories", "properties", "volatile", "ttl", "modules", "jsconfigvars", "encodedjsconfigvars", "parsetree"].include?(value.to_s) && merge(prop: value.to_s, replace: false)
57
+ end
58
+
59
+ # Whether to include HTML comments in the output.
60
+ #
61
+ # @return [self]
62
+ def includecomments()
63
+ merge(includecomments: 'true')
64
+ end
65
+
66
+ # Generate XML parse tree (replaced by prop=parsetree).
67
+ #
68
+ # @return [self]
69
+ def generatexml()
70
+ merge(generatexml: 'true')
71
+ end
72
+
73
+ # Template sandbox prefix, as with Special:TemplateSandbox.
74
+ #
75
+ # @param values [Array<String>]
76
+ # @return [self]
77
+ def templatesandboxprefix(*values)
78
+ values.inject(self) { |res, val| res._templatesandboxprefix(val) }
79
+ end
80
+
81
+ # @private
82
+ def _templatesandboxprefix(value)
83
+ merge(templatesandboxprefix: value.to_s, replace: false)
84
+ end
85
+
86
+ # Parse the page using templatesandboxtext in place of the contents of the page named here.
87
+ #
88
+ # @param value [String]
89
+ # @return [self]
90
+ def templatesandboxtitle(value)
91
+ merge(templatesandboxtitle: value.to_s)
92
+ end
93
+
94
+ # Parse the page using this page content in place of the page named by templatesandboxtitle.
95
+ #
96
+ # @param value [String]
97
+ # @return [self]
98
+ def templatesandboxtext(value)
99
+ merge(templatesandboxtext: value.to_s)
100
+ end
101
+
102
+ # Content model of templatesandboxtext.
103
+ #
104
+ # @param value [String] One of "GadgetDefinition", "SecurePoll", "MassMessageListContent", "JsonSchema", "wikitext", "javascript", "json", "css", "text", "Scribunto".
105
+ # @return [self]
106
+ def templatesandboxcontentmodel(value)
107
+ _templatesandboxcontentmodel(value) or fail ArgumentError, "Unknown value for templatesandboxcontentmodel: #{value}"
108
+ end
109
+
110
+ # @private
111
+ def _templatesandboxcontentmodel(value)
112
+ defined?(super) && super || ["GadgetDefinition", "SecurePoll", "MassMessageListContent", "JsonSchema", "wikitext", "javascript", "json", "css", "text", "Scribunto"].include?(value.to_s) && merge(templatesandboxcontentmodel: value.to_s)
113
+ end
114
+
115
+ # Content format of templatesandboxtext.
116
+ #
117
+ # @param value [String] One of "application/json", "text/x-wiki", "text/javascript", "text/css", "text/plain".
118
+ # @return [self]
119
+ def templatesandboxcontentformat(value)
120
+ _templatesandboxcontentformat(value) or fail ArgumentError, "Unknown value for templatesandboxcontentformat: #{value}"
121
+ end
122
+
123
+ # @private
124
+ def _templatesandboxcontentformat(value)
125
+ defined?(super) && super || ["application/json", "text/x-wiki", "text/javascript", "text/css", "text/plain"].include?(value.to_s) && merge(templatesandboxcontentformat: value.to_s)
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Get a new FancyCaptcha.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.fancycaptchareload.perform # returns string with raw output
11
+ # # or
12
+ # api.fancycaptchareload.response # returns output parsed and wrapped into Mash-like object
13
+ # ```
14
+ #
15
+ # This action has no parameters.
16
+ #
17
+ # See {Base} for generic explanation of working with MediaWiki actions and
18
+ # {MediaWiktory::Wikipedia::Response} for working with action responses.
19
+ #
20
+ # All action's parameters are documented as its public methods, see below.
21
+ #
22
+ class Fancycaptchareload < MediaWiktory::Wikipedia::Actions::Get
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Returns a featured content feed.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.featuredfeed.feedformat(value).perform # returns string with raw output
11
+ # # or
12
+ # api.featuredfeed.feedformat(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 Featuredfeed < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # The format of the feed.
23
+ #
24
+ # @param value [String] One of "rss", "atom".
25
+ # @return [self]
26
+ def feedformat(value)
27
+ _feedformat(value) or fail ArgumentError, "Unknown value for feedformat: #{value}"
28
+ end
29
+
30
+ # @private
31
+ def _feedformat(value)
32
+ defined?(super) && super || ["rss", "atom"].include?(value.to_s) && merge(feedformat: value.to_s)
33
+ end
34
+
35
+ # Feed name.
36
+ #
37
+ # @param value [String] One of "potd", "featured", "onthisday".
38
+ # @return [self]
39
+ def feed(value)
40
+ _feed(value) or fail ArgumentError, "Unknown value for feed: #{value}"
41
+ end
42
+
43
+ # @private
44
+ def _feed(value)
45
+ defined?(super) && super || ["potd", "featured", "onthisday"].include?(value.to_s) && merge(feed: value.to_s)
46
+ end
47
+
48
+ # Feed language code. Ignored by some feeds.
49
+ #
50
+ # @param value [String]
51
+ # @return [self]
52
+ def language(value)
53
+ merge(language: value.to_s)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Returns a user contributions feed.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.feedcontributions.feedformat(value).perform # returns string with raw output
11
+ # # or
12
+ # api.feedcontributions.feedformat(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 Feedcontributions < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # The format of the feed.
23
+ #
24
+ # @param value [String] One of "rss", "atom".
25
+ # @return [self]
26
+ def feedformat(value)
27
+ _feedformat(value) or fail ArgumentError, "Unknown value for feedformat: #{value}"
28
+ end
29
+
30
+ # @private
31
+ def _feedformat(value)
32
+ defined?(super) && super || ["rss", "atom"].include?(value.to_s) && merge(feedformat: value.to_s)
33
+ end
34
+
35
+ # What users to get the contributions for.
36
+ #
37
+ # @param value [String]
38
+ # @return [self]
39
+ def user(value)
40
+ merge(user: value.to_s)
41
+ end
42
+
43
+ # Which namespace to filter the contributions by.
44
+ #
45
+ # @param value [String] One of "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "108", "109", "118", "119", "446", "447", "710", "711", "828", "829", "2300", "2301", "2302", "2303".
46
+ # @return [self]
47
+ def namespace(value)
48
+ _namespace(value) or fail ArgumentError, "Unknown value for namespace: #{value}"
49
+ end
50
+
51
+ # @private
52
+ def _namespace(value)
53
+ defined?(super) && super || ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "108", "109", "118", "119", "446", "447", "710", "711", "828", "829", "2300", "2301", "2302", "2303"].include?(value.to_s) && merge(namespace: value.to_s)
54
+ end
55
+
56
+ # From year (and earlier).
57
+ #
58
+ # @param value [Integer]
59
+ # @return [self]
60
+ def year(value)
61
+ merge(year: value.to_s)
62
+ end
63
+
64
+ # From month (and earlier).
65
+ #
66
+ # @param value [Integer]
67
+ # @return [self]
68
+ def month(value)
69
+ merge(month: value.to_s)
70
+ end
71
+
72
+ # Filter contributions that have these tags.
73
+ #
74
+ # @param values [Array<String>] Allowed values: "ProveIt edit", "WPCleaner", "huggle", "large plot addition", "Possible disruption", "Newer user possibly adding unreferenced or improperly referenced material", "possible vandalism", "contenttranslation-needcheck", "possible link spam", "wikilinks removed", "External Link added to disambiguation page", "canned edit summary", "new blank article", "extraneous markup", "de-userfying", "Possible self promotion in userspace", "discretionary sanctions alert", "image added to template", "nowiki added", "userspace spam", "changing height or weight", "possible libel or vandalism", "End of page text", "non-English content", "Extraneous formatting", "reverting anti-vandal bot", "Possible vandalism", "Removal of interwiki link", "Rapid reverts", "adding email address", "nonsense characters", "removal of copyvio templates", "bad external", "large unwikified new article", "removal of articles for deletion template", "Section blanking", "possible cut and paste move", "unusual redirect", "coi-spam", "autobiography", "repeating characters", "categories removed", "removal of Category:Living People", "very short new article", "reference list removal", "references removed", "image template removal", "shouting", "talk page blanking", "blanking", "removal of speedy deletion templates", "self-renaming and bad user talk moves", "mw-contentmodelchange", "massmessage-delivery", "visualeditor", "visualeditor-needcheck", "visualeditor-switched", "visualeditor-wikitext", "wikilove", "mobile edit", "mobile app edit", "mobile web edit", "HHVM", "contenttranslation", "OAuth CID: 115", "OAuth CID: 142", "OAuth CID: 144", "OAuth CID: 150", "OAuth CID: 151", "OAuth CID: 154", "OAuth CID: 159", "OAuth CID: 194", "OAuth CID: 206", "OAuth CID: 21", "OAuth CID: 211", "OAuth CID: 212", "OAuth CID: 218", "OAuth CID: 236", "OAuth CID: 239", "OAuth CID: 251", "OAuth CID: 252", "OAuth CID: 259", "OAuth CID: 261", "OAuth CID: 263", "OAuth CID: 274", "OAuth CID: 278", "OAuth CID: 285", "OAuth CID: 297", "OAuth CID: 306", "OAuth CID: 314", "OAuth CID: 320", "OAuth CID: 376", "OAuth CID: 410", "OAuth CID: 429", "OAuth CID: 473", "OAuth CID: 540", "OAuth CID: 542", "OAuth CID: 543", "OAuth CID: 563", "OAuth CID: 593", "OAuth CID: 60", "OAuth CID: 612", "OAuth CID: 628", "OAuth CID: 64", "OAuth CID: 651", "OAuth CID: 67", "OAuth CID: 670", "OAuth CID: 678", "OAuth CID: 679", "OAuth CID: 76", "OAuth CID: 817", "OAuth CID: 85", "OAuth CID: 99".
75
+ # @return [self]
76
+ def tagfilter(*values)
77
+ values.inject(self) { |res, val| res._tagfilter(val) or fail ArgumentError, "Unknown value for tagfilter: #{val}" }
78
+ end
79
+
80
+ # @private
81
+ def _tagfilter(value)
82
+ defined?(super) && super || ["ProveIt edit", "WPCleaner", "huggle", "large plot addition", "Possible disruption", "Newer user possibly adding unreferenced or improperly referenced material", "possible vandalism", "contenttranslation-needcheck", "possible link spam", "wikilinks removed", "External Link added to disambiguation page", "canned edit summary", "new blank article", "extraneous markup", "de-userfying", "Possible self promotion in userspace", "discretionary sanctions alert", "image added to template", "nowiki added", "userspace spam", "changing height or weight", "possible libel or vandalism", "End of page text", "non-English content", "Extraneous formatting", "reverting anti-vandal bot", "Possible vandalism", "Removal of interwiki link", "Rapid reverts", "adding email address", "nonsense characters", "removal of copyvio templates", "bad external", "large unwikified new article", "removal of articles for deletion template", "Section blanking", "possible cut and paste move", "unusual redirect", "coi-spam", "autobiography", "repeating characters", "categories removed", "removal of Category:Living People", "very short new article", "reference list removal", "references removed", "image template removal", "shouting", "talk page blanking", "blanking", "removal of speedy deletion templates", "self-renaming and bad user talk moves", "mw-contentmodelchange", "massmessage-delivery", "visualeditor", "visualeditor-needcheck", "visualeditor-switched", "visualeditor-wikitext", "wikilove", "mobile edit", "mobile app edit", "mobile web edit", "HHVM", "contenttranslation", "OAuth CID: 115", "OAuth CID: 142", "OAuth CID: 144", "OAuth CID: 150", "OAuth CID: 151", "OAuth CID: 154", "OAuth CID: 159", "OAuth CID: 194", "OAuth CID: 206", "OAuth CID: 21", "OAuth CID: 211", "OAuth CID: 212", "OAuth CID: 218", "OAuth CID: 236", "OAuth CID: 239", "OAuth CID: 251", "OAuth CID: 252", "OAuth CID: 259", "OAuth CID: 261", "OAuth CID: 263", "OAuth CID: 274", "OAuth CID: 278", "OAuth CID: 285", "OAuth CID: 297", "OAuth CID: 306", "OAuth CID: 314", "OAuth CID: 320", "OAuth CID: 376", "OAuth CID: 410", "OAuth CID: 429", "OAuth CID: 473", "OAuth CID: 540", "OAuth CID: 542", "OAuth CID: 543", "OAuth CID: 563", "OAuth CID: 593", "OAuth CID: 60", "OAuth CID: 612", "OAuth CID: 628", "OAuth CID: 64", "OAuth CID: 651", "OAuth CID: 67", "OAuth CID: 670", "OAuth CID: 678", "OAuth CID: 679", "OAuth CID: 76", "OAuth CID: 817", "OAuth CID: 85", "OAuth CID: 99"].include?(value.to_s) && merge(tagfilter: value.to_s, replace: false)
83
+ end
84
+
85
+ # Show only deleted contributions.
86
+ #
87
+ # @return [self]
88
+ def deletedonly()
89
+ merge(deletedonly: 'true')
90
+ end
91
+
92
+ # Only show edits that are the latest revisions.
93
+ #
94
+ # @return [self]
95
+ def toponly()
96
+ merge(toponly: 'true')
97
+ end
98
+
99
+ # Only show edits that are page creations.
100
+ #
101
+ # @return [self]
102
+ def newonly()
103
+ merge(newonly: 'true')
104
+ end
105
+
106
+ # Hide minor edits.
107
+ #
108
+ # @return [self]
109
+ def hideminor()
110
+ merge(hideminor: 'true')
111
+ end
112
+
113
+ # Disabled due to miser mode.
114
+ #
115
+ # @return [self]
116
+ def showsizediff()
117
+ merge(showsizediff: 'true')
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MediaWiktory::Wikipedia
4
+ module Actions
5
+ # Returns a recent changes feed.
6
+ #
7
+ # Usage:
8
+ #
9
+ # ```ruby
10
+ # api.feedrecentchanges.feedformat(value).perform # returns string with raw output
11
+ # # or
12
+ # api.feedrecentchanges.feedformat(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 Feedrecentchanges < MediaWiktory::Wikipedia::Actions::Get
21
+
22
+ # The format of the feed.
23
+ #
24
+ # @param value [String] One of "rss", "atom".
25
+ # @return [self]
26
+ def feedformat(value)
27
+ _feedformat(value) or fail ArgumentError, "Unknown value for feedformat: #{value}"
28
+ end
29
+
30
+ # @private
31
+ def _feedformat(value)
32
+ defined?(super) && super || ["rss", "atom"].include?(value.to_s) && merge(feedformat: value.to_s)
33
+ end
34
+
35
+ # Namespace to limit the results to.
36
+ #
37
+ # @param value [String] One of "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "108", "109", "118", "119", "446", "447", "710", "711", "828", "829", "2300", "2301", "2302", "2303".
38
+ # @return [self]
39
+ def namespace(value)
40
+ _namespace(value) or fail ArgumentError, "Unknown value for namespace: #{value}"
41
+ end
42
+
43
+ # @private
44
+ def _namespace(value)
45
+ defined?(super) && super || ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "108", "109", "118", "119", "446", "447", "710", "711", "828", "829", "2300", "2301", "2302", "2303"].include?(value.to_s) && merge(namespace: value.to_s)
46
+ end
47
+
48
+ # All namespaces but the selected one.
49
+ #
50
+ # @return [self]
51
+ def invert()
52
+ merge(invert: 'true')
53
+ end
54
+
55
+ # Include associated (talk or main) namespace.
56
+ #
57
+ # @return [self]
58
+ def associated()
59
+ merge(associated: 'true')
60
+ end
61
+
62
+ # Days to limit the results to.
63
+ #
64
+ # @param value [Integer]
65
+ # @return [self]
66
+ def days(value)
67
+ merge(days: value.to_s)
68
+ end
69
+
70
+ # Maximum number of results to return.
71
+ #
72
+ # @param value [Integer]
73
+ # @return [self]
74
+ def limit(value)
75
+ merge(limit: value.to_s)
76
+ end
77
+
78
+ # Show changes since then.
79
+ #
80
+ # @param value [Time]
81
+ # @return [self]
82
+ def from(value)
83
+ merge(from: value.iso8601)
84
+ end
85
+
86
+ # Hide minor changes.
87
+ #
88
+ # @return [self]
89
+ def hideminor()
90
+ merge(hideminor: 'true')
91
+ end
92
+
93
+ # Hide changes made by bots.
94
+ #
95
+ # @return [self]
96
+ def hidebots()
97
+ merge(hidebots: 'true')
98
+ end
99
+
100
+ # Hide changes made by anonymous users.
101
+ #
102
+ # @return [self]
103
+ def hideanons()
104
+ merge(hideanons: 'true')
105
+ end
106
+
107
+ # Hide changes made by registered users.
108
+ #
109
+ # @return [self]
110
+ def hideliu()
111
+ merge(hideliu: 'true')
112
+ end
113
+
114
+ # Hide patrolled changes.
115
+ #
116
+ # @return [self]
117
+ def hidepatrolled()
118
+ merge(hidepatrolled: 'true')
119
+ end
120
+
121
+ # Hide changes made by the current user.
122
+ #
123
+ # @return [self]
124
+ def hidemyself()
125
+ merge(hidemyself: 'true')
126
+ end
127
+
128
+ # Hide category membership changes.
129
+ #
130
+ # @return [self]
131
+ def hidecategorization()
132
+ merge(hidecategorization: 'true')
133
+ end
134
+
135
+ # Filter by tag.
136
+ #
137
+ # @param value [String]
138
+ # @return [self]
139
+ def tagfilter(value)
140
+ merge(tagfilter: value.to_s)
141
+ end
142
+
143
+ # Show only changes on pages linked from this page.
144
+ #
145
+ # @param value [String]
146
+ # @return [self]
147
+ def target(value)
148
+ merge(target: value.to_s)
149
+ end
150
+
151
+ # Show changes on pages linked to the selected page instead.
152
+ #
153
+ # @return [self]
154
+ def showlinkedto()
155
+ merge(showlinkedto: 'true')
156
+ end
157
+ end
158
+ end
159
+ end