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,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module MediaWiktory::Wikipedia
6
+ # Thin wrapper around MediaWiki API response.
7
+ #
8
+ # It provides services for separating metadata of response of its essential data, continuing multi-
9
+ # page responses, and converting response errors into exceptions.
10
+ #
11
+ # You should not instantiate this class, it is obtained by some {Actions Action}'s {Actions::Base#response #response}.
12
+ class Response
13
+ # Response fail was returned by target MediaWiki API.
14
+ Error = Class.new(RuntimeError)
15
+
16
+ # @private
17
+ METADATA_KEYS = %w[error warnings batchcomplete continue success limits].freeze
18
+
19
+ # @private
20
+ def self.parse(action, response_body)
21
+ new(action, JSON.parse(response_body))
22
+ end
23
+
24
+ # Entire response "as is", including contents and metadata parts.
25
+ #
26
+ # See {#to_h} for content part of the response and {#metadata} for metadata part.
27
+ #
28
+ # @return [Hash]
29
+ attr_reader :raw
30
+
31
+ # Metadata part of the response, keys like "error", "warnings", "continue".
32
+ #
33
+ # See {#to_h} for content part of the response and {#raw} for entire response.
34
+ #
35
+ # @return [Hash]
36
+ attr_reader :metadata
37
+
38
+ # @private
39
+ def initialize(action, response_hash)
40
+ @action = action
41
+ @raw = response_hash.freeze
42
+ @metadata, @data = response_hash.partition { |key, _| METADATA_KEYS.include?(key) }.map(&:to_h).map(&:freeze)
43
+ error! if @metadata['error']
44
+ end
45
+
46
+ # "Content" part of the response as a plain Ruby Hash.
47
+ #
48
+ # @return [Hash]
49
+ def to_h
50
+ # For most of actions, like query, all response is inside additional "query" key,
51
+ # ...but not for all.
52
+ @data.key?(@action.name) ? @data.fetch(@action.name) : @data
53
+ end
54
+
55
+ # Fetches a key from response content.
56
+ #
57
+ # @param key [String] Key name.
58
+ def [](key)
59
+ to_h[key]
60
+ end
61
+
62
+ # Digs for a keys from response content.
63
+ #
64
+ # @param keys [Array<String>] Key names.
65
+ def dig(*keys)
66
+ hash_dig(to_h, *keys)
67
+ end
68
+
69
+ # Returns `true` if there is next pages of response. See also {#continue}
70
+ def continue?
71
+ @metadata.key?('continue')
72
+ end
73
+
74
+ # Continues current request and returns current & next pages merged. (Merging is necessary
75
+ # because MediaWiki tends to return the same object's data continued on the next request page.)
76
+ #
77
+ # @return [Response]
78
+ def continue
79
+ fail 'This is the last page' unless continue?
80
+
81
+ action = @action.merge(@metadata.fetch('continue'))
82
+
83
+ self.class.new(action, merge_responses(JSON.parse(action.perform)))
84
+ end
85
+
86
+ # @return [String]
87
+ def inspect
88
+ "#<#{self.class.name}(#{@action.name}): #{to_h.keys.join(', ')}#{' (can continue)' if continue?}>"
89
+ end
90
+
91
+ private
92
+
93
+ def merge_responses(new_response)
94
+ merger = lambda do |_k, v1, v2|
95
+ if v1.is_a?(Hash) && v2.is_a?(Hash)
96
+ v1.merge(v2, &merger)
97
+ elsif v1.is_a?(Array) && v2.is_a?(Array)
98
+ v1 + v2
99
+ else
100
+ v2
101
+ end
102
+ end
103
+
104
+ # Newest page is responsible for all metadata, so we take entire new response and only data
105
+ # part of old one.
106
+ #
107
+ # Deep recursive merge is necessary because MediaWiki could split response in parts unpredicatably
108
+ # (like ['query']['pages'][some_page_id] can be present on several pages, providing different
109
+ # parts of a page).
110
+ @data.merge(new_response, &merger)
111
+ end
112
+
113
+ def error!
114
+ fail Error, hash_dig(@metadata, 'error', 'info')
115
+ end
116
+
117
+ # TODO: replace with Hash#dig when minimal Ruby version would be 2.3
118
+ def hash_dig(hash, *keys)
119
+ keys.inject(hash) { |res, key| res[key] or return nil }
120
+ end
121
+ end
122
+ end
data/lib/nokogiri/more.rb CHANGED
@@ -1,29 +1,29 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'naught'
2
4
 
5
+ # @private
6
+ # Used only by Generator
3
7
  module Nokogiri
4
8
  module More
5
9
  module NodeChildrenGroups
6
10
  def children_groups(*selectors)
7
11
  groups = []
8
- flat = children.select{|node| selectors.any?{|s| node.matches?(s)}}
9
- while !flat.empty?
10
- groups << make_group(flat, selectors)
11
- end
12
+ flat = children.select { |node| selectors.any? { |s| node.matches?(s) } }
13
+ groups << make_group(flat, selectors) until flat.empty?
12
14
  groups
13
15
  end
14
-
15
- #include NodeOnlyFor
16
-
16
+
17
17
  def each_term
18
18
  children_groups('dt', 'dd')
19
19
  end
20
-
20
+
21
21
  private
22
-
22
+
23
23
  def make_group(flat, selectors)
24
24
  sel = selectors.dup
25
25
  group = [[]]
26
- while !flat.empty?
26
+ until flat.empty?
27
27
  if flat.first.matches?(sel.first)
28
28
  group.last << flat.shift
29
29
  elsif sel.size > 1 && flat.first.matches?(sel[1])
@@ -43,7 +43,7 @@ module Nokogiri
43
43
 
44
44
  # so you can just `at?(selector).tap{|node| ...`
45
45
  # and never be inside `tap`, if it's not found
46
- def tap
46
+ def tap
47
47
  self
48
48
  end
49
49
  end
@@ -60,7 +60,7 @@ module Nokogiri
60
60
  def at_xpath?(selector)
61
61
  at_xpath(selector) || NodeNaught.new
62
62
  end
63
-
63
+
64
64
  def find_child?(selector)
65
65
  find_child(selector) || NodeNaught.new
66
66
  end
data/mediawiktory.gemspec CHANGED
@@ -10,6 +10,8 @@ Gem::Specification.new do |s|
10
10
  s.summary = 'Full-featured MediaWiki client with Arel-like queries'
11
11
  s.licenses = ['MIT']
12
12
 
13
+ s.required_ruby_version = '>= 2.1.0'
14
+
13
15
  s.files = `git ls-files`.split($RS).reject do |file|
14
16
  file =~ /^(?:
15
17
  spec\/.*
@@ -23,6 +25,8 @@ Gem::Specification.new do |s|
23
25
  end
24
26
  s.require_paths = ["lib"]
25
27
 
28
+ s.add_dependency 'nokogiri'
29
+ s.add_dependency 'naught'
26
30
  s.add_dependency 'faraday'
27
31
  s.add_dependency 'faraday_middleware'
28
32
  s.add_dependency 'hashie'
metadata CHANGED
@@ -1,333 +1,426 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mediawiktory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Shepelev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-18 00:00:00.000000000 Z
11
+ date: 2017-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faraday
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :runtime
19
+ name: nokogiri
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: faraday_middleware
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
- type: :runtime
33
+ name: naught
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: hashie
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0'
47
+ name: faraday
48
+ prerelease: false
48
49
  type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ name: faraday_middleware
49
62
  prerelease: false
63
+ type: :runtime
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: addressable
57
70
  requirement: !ruby/object:Gem::Requirement
58
71
  requirements:
59
72
  - - ">="
60
73
  - !ruby/object:Gem::Version
61
74
  version: '0'
75
+ name: hashie
76
+ prerelease: false
62
77
  type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ name: addressable
63
90
  prerelease: false
91
+ type: :runtime
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - ">="
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
69
- description:
97
+ description:
70
98
  email: zverok.offline@gmail.com
71
99
  executables: []
72
100
  extensions: []
73
101
  extra_rdoc_files: []
74
102
  files:
103
+ - ".dokaz"
104
+ - ".rubocop_todo.yml"
105
+ - ".yardopts"
75
106
  - CHANGELOG.md
76
107
  - CONTRIBUTING.md
77
108
  - LICENSE.txt
78
109
  - README.md
79
- - bin/mediawiktory
80
- - doc/mediawiki_api_types.md
81
- - examples/query.rb
82
- - examples/query_generator.rb
83
- - lib/faraday/naive_cache.rb
110
+ - bin/mediawiktory-gen
84
111
  - lib/media_wiktory.rb
85
112
  - lib/mediawiktory.rb
86
- - lib/mediawiktory/action.rb
87
- - lib/mediawiktory/client.rb
88
- - lib/mediawiktory/generated/abusefiltercheckmatch.rb
89
- - lib/mediawiktory/generated/abusefilterchecksyntax.rb
90
- - lib/mediawiktory/generated/abusefilterevalexpression.rb
91
- - lib/mediawiktory/generated/abusefilters.rb
92
- - lib/mediawiktory/generated/abusefilterunblockautopromote.rb
93
- - lib/mediawiktory/generated/abuselog.rb
94
- - lib/mediawiktory/generated/actions_mixin.rb
95
- - lib/mediawiktory/generated/addstudents.rb
96
- - lib/mediawiktory/generated/allcategories.rb
97
- - lib/mediawiktory/generated/alldeletedrevisions.rb
98
- - lib/mediawiktory/generated/allfileusages.rb
99
- - lib/mediawiktory/generated/allimages.rb
100
- - lib/mediawiktory/generated/alllinks.rb
101
- - lib/mediawiktory/generated/allmessages.rb
102
- - lib/mediawiktory/generated/allpages.rb
103
- - lib/mediawiktory/generated/allredirects.rb
104
- - lib/mediawiktory/generated/allrevisions.rb
105
- - lib/mediawiktory/generated/alltransclusions.rb
106
- - lib/mediawiktory/generated/allusers.rb
107
- - lib/mediawiktory/generated/antispoof.rb
108
- - lib/mediawiktory/generated/authmanagerinfo.rb
109
- - lib/mediawiktory/generated/babel.rb
110
- - lib/mediawiktory/generated/backlinks.rb
111
- - lib/mediawiktory/generated/betafeatures.rb
112
- - lib/mediawiktory/generated/block.rb
113
- - lib/mediawiktory/generated/blocks.rb
114
- - lib/mediawiktory/generated/bouncehandler.rb
115
- - lib/mediawiktory/generated/categories.rb
116
- - lib/mediawiktory/generated/categoryinfo.rb
117
- - lib/mediawiktory/generated/categorymembers.rb
118
- - lib/mediawiktory/generated/categorytree.rb
119
- - lib/mediawiktory/generated/centralauthtoken.rb
120
- - lib/mediawiktory/generated/centralnoticechoicedata.rb
121
- - lib/mediawiktory/generated/centralnoticelogs.rb
122
- - lib/mediawiktory/generated/centralnoticequerycampaign.rb
123
- - lib/mediawiktory/generated/changeauthenticationdata.rb
124
- - lib/mediawiktory/generated/checktoken.rb
125
- - lib/mediawiktory/generated/checkuser.rb
126
- - lib/mediawiktory/generated/checkuserlog.rb
127
- - lib/mediawiktory/generated/cirrus-config-dump.rb
128
- - lib/mediawiktory/generated/cirrus-mapping-dump.rb
129
- - lib/mediawiktory/generated/cirrus-settings-dump.rb
130
- - lib/mediawiktory/generated/clearhasmsg.rb
131
- - lib/mediawiktory/generated/clientlogin.rb
132
- - lib/mediawiktory/generated/compare.rb
133
- - lib/mediawiktory/generated/contenttranslation.rb
134
- - lib/mediawiktory/generated/contenttranslationcorpora.rb
135
- - lib/mediawiktory/generated/contenttranslationlangtrend.rb
136
- - lib/mediawiktory/generated/contenttranslationstats.rb
137
- - lib/mediawiktory/generated/contenttranslationsuggestions.rb
138
- - lib/mediawiktory/generated/contributors.rb
139
- - lib/mediawiktory/generated/coordinates.rb
140
- - lib/mediawiktory/generated/createaccount.rb
141
- - lib/mediawiktory/generated/cspreport.rb
142
- - lib/mediawiktory/generated/cxconfiguration.rb
143
- - lib/mediawiktory/generated/cxdelete.rb
144
- - lib/mediawiktory/generated/cxpublish.rb
145
- - lib/mediawiktory/generated/cxpublishedtranslations.rb
146
- - lib/mediawiktory/generated/cxsave.rb
147
- - lib/mediawiktory/generated/cxsuggestionlist.rb
148
- - lib/mediawiktory/generated/cxtoken.rb
149
- - lib/mediawiktory/generated/cxtranslatorstats.rb
150
- - lib/mediawiktory/generated/delete.rb
151
- - lib/mediawiktory/generated/deletedrevisions.rb
152
- - lib/mediawiktory/generated/deletedrevs.rb
153
- - lib/mediawiktory/generated/deleteeducation.rb
154
- - lib/mediawiktory/generated/deleteglobalaccount.rb
155
- - lib/mediawiktory/generated/duplicatefiles.rb
156
- - lib/mediawiktory/generated/echomarkread.rb
157
- - lib/mediawiktory/generated/echomarkseen.rb
158
- - lib/mediawiktory/generated/edit.rb
159
- - lib/mediawiktory/generated/editmassmessagelist.rb
160
- - lib/mediawiktory/generated/emailuser.rb
161
- - lib/mediawiktory/generated/embeddedin.rb
162
- - lib/mediawiktory/generated/enlist.rb
163
- - lib/mediawiktory/generated/expandtemplates.rb
164
- - lib/mediawiktory/generated/extlinks.rb
165
- - lib/mediawiktory/generated/extracts.rb
166
- - lib/mediawiktory/generated/exturlusage.rb
167
- - lib/mediawiktory/generated/fancycaptchareload.rb
168
- - lib/mediawiktory/generated/featuredfeed.rb
169
- - lib/mediawiktory/generated/featureusage.rb
170
- - lib/mediawiktory/generated/feedcontributions.rb
171
- - lib/mediawiktory/generated/feedrecentchanges.rb
172
- - lib/mediawiktory/generated/feedwatchlist.rb
173
- - lib/mediawiktory/generated/filearchive.rb
174
- - lib/mediawiktory/generated/filerepoinfo.rb
175
- - lib/mediawiktory/generated/filerevert.rb
176
- - lib/mediawiktory/generated/fileusage.rb
177
- - lib/mediawiktory/generated/flagconfig.rb
178
- - lib/mediawiktory/generated/flagged.rb
179
- - lib/mediawiktory/generated/gadgetcategories.rb
180
- - lib/mediawiktory/generated/gadgets.rb
181
- - lib/mediawiktory/generated/geosearch.rb
182
- - lib/mediawiktory/generated/gettingstartedgetpages.rb
183
- - lib/mediawiktory/generated/globalallusers.rb
184
- - lib/mediawiktory/generated/globalblock.rb
185
- - lib/mediawiktory/generated/globalblocks.rb
186
- - lib/mediawiktory/generated/globalgroups.rb
187
- - lib/mediawiktory/generated/globalusage.rb
188
- - lib/mediawiktory/generated/globaluserinfo.rb
189
- - lib/mediawiktory/generated/globaluserrights.rb
190
- - lib/mediawiktory/generated/graph.rb
191
- - lib/mediawiktory/generated/help.rb
192
- - lib/mediawiktory/generated/imageinfo.rb
193
- - lib/mediawiktory/generated/imagerotate.rb
194
- - lib/mediawiktory/generated/images.rb
195
- - lib/mediawiktory/generated/imageusage.rb
196
- - lib/mediawiktory/generated/import.rb
197
- - lib/mediawiktory/generated/info.rb
198
- - lib/mediawiktory/generated/iwbacklinks.rb
199
- - lib/mediawiktory/generated/iwlinks.rb
200
- - lib/mediawiktory/generated/jsonconfig.rb
201
- - lib/mediawiktory/generated/jsondata.rb
202
- - lib/mediawiktory/generated/langbacklinks.rb
203
- - lib/mediawiktory/generated/langlinks.rb
204
- - lib/mediawiktory/generated/languagesearch.rb
205
- - lib/mediawiktory/generated/linkaccount.rb
206
- - lib/mediawiktory/generated/links.rb
207
- - lib/mediawiktory/generated/linkshere.rb
208
- - lib/mediawiktory/generated/liststudents.rb
209
- - lib/mediawiktory/generated/logevents.rb
210
- - lib/mediawiktory/generated/login.rb
211
- - lib/mediawiktory/generated/logout.rb
212
- - lib/mediawiktory/generated/managetags.rb
213
- - lib/mediawiktory/generated/mapdata.rb
214
- - lib/mediawiktory/generated/massmessage.rb
215
- - lib/mediawiktory/generated/mergehistory.rb
216
- - lib/mediawiktory/generated/mmsites.rb
217
- - lib/mediawiktory/generated/mobileview.rb
218
- - lib/mediawiktory/generated/mostviewed.rb
219
- - lib/mediawiktory/generated/move.rb
220
- - lib/mediawiktory/generated/mystashedfiles.rb
221
- - lib/mediawiktory/generated/notifications.rb
222
- - lib/mediawiktory/generated/oath.rb
223
- - lib/mediawiktory/generated/oathvalidate.rb
224
- - lib/mediawiktory/generated/oldreviewedpages.rb
225
- - lib/mediawiktory/generated/opensearch.rb
226
- - lib/mediawiktory/generated/options.rb
227
- - lib/mediawiktory/generated/ores.rb
228
- - lib/mediawiktory/generated/pageassessments.rb
229
- - lib/mediawiktory/generated/pageimages.rb
230
- - lib/mediawiktory/generated/pagepropnames.rb
231
- - lib/mediawiktory/generated/pageprops.rb
232
- - lib/mediawiktory/generated/pageswithprop.rb
233
- - lib/mediawiktory/generated/pageterms.rb
234
- - lib/mediawiktory/generated/pagetriageaction.rb
235
- - lib/mediawiktory/generated/pagetriagelist.rb
236
- - lib/mediawiktory/generated/pagetriagestats.rb
237
- - lib/mediawiktory/generated/pagetriagetagging.rb
238
- - lib/mediawiktory/generated/pagetriagetemplate.rb
239
- - lib/mediawiktory/generated/pageviews.rb
240
- - lib/mediawiktory/generated/paraminfo.rb
241
- - lib/mediawiktory/generated/parse.rb
242
- - lib/mediawiktory/generated/parsoid-batch.rb
243
- - lib/mediawiktory/generated/patrol.rb
244
- - lib/mediawiktory/generated/prefixsearch.rb
245
- - lib/mediawiktory/generated/projectpages.rb
246
- - lib/mediawiktory/generated/projects.rb
247
- - lib/mediawiktory/generated/protect.rb
248
- - lib/mediawiktory/generated/protectedtitles.rb
249
- - lib/mediawiktory/generated/purge.rb
250
- - lib/mediawiktory/generated/query.rb
251
- - lib/mediawiktory/generated/querypage.rb
252
- - lib/mediawiktory/generated/random.rb
253
- - lib/mediawiktory/generated/recentchanges.rb
254
- - lib/mediawiktory/generated/redirects.rb
255
- - lib/mediawiktory/generated/references.rb
256
- - lib/mediawiktory/generated/refresheducation.rb
257
- - lib/mediawiktory/generated/removeauthenticationdata.rb
258
- - lib/mediawiktory/generated/resetpassword.rb
259
- - lib/mediawiktory/generated/review.rb
260
- - lib/mediawiktory/generated/reviewactivity.rb
261
- - lib/mediawiktory/generated/revisiondelete.rb
262
- - lib/mediawiktory/generated/revisions.rb
263
- - lib/mediawiktory/generated/rollback.rb
264
- - lib/mediawiktory/generated/rsd.rb
265
- - lib/mediawiktory/generated/sanitize-mapdata.rb
266
- - lib/mediawiktory/generated/scribunto-console.rb
267
- - lib/mediawiktory/generated/search.rb
268
- - lib/mediawiktory/generated/setglobalaccountstatus.rb
269
- - lib/mediawiktory/generated/setnotificationtimestamp.rb
270
- - lib/mediawiktory/generated/setpagelanguage.rb
271
- - lib/mediawiktory/generated/shortenurl.rb
272
- - lib/mediawiktory/generated/siteinfo.rb
273
- - lib/mediawiktory/generated/sitematrix.rb
274
- - lib/mediawiktory/generated/siteviews.rb
275
- - lib/mediawiktory/generated/spamblacklist.rb
276
- - lib/mediawiktory/generated/stabilize.rb
277
- - lib/mediawiktory/generated/stashedit.rb
278
- - lib/mediawiktory/generated/stashimageinfo.rb
279
- - lib/mediawiktory/generated/strikevote.rb
280
- - lib/mediawiktory/generated/tag.rb
281
- - lib/mediawiktory/generated/tags.rb
282
- - lib/mediawiktory/generated/templatedata.rb
283
- - lib/mediawiktory/generated/templates.rb
284
- - lib/mediawiktory/generated/thank.rb
285
- - lib/mediawiktory/generated/titleblacklist.rb
286
- - lib/mediawiktory/generated/tokens.rb
287
- - lib/mediawiktory/generated/transcludedin.rb
288
- - lib/mediawiktory/generated/transcodereset.rb
289
- - lib/mediawiktory/generated/transcodestatus.rb
290
- - lib/mediawiktory/generated/ulslocalization.rb
291
- - lib/mediawiktory/generated/unblock.rb
292
- - lib/mediawiktory/generated/undelete.rb
293
- - lib/mediawiktory/generated/unlinkaccount.rb
294
- - lib/mediawiktory/generated/unreadnotificationpages.rb
295
- - lib/mediawiktory/generated/upload.rb
296
- - lib/mediawiktory/generated/usercontribs.rb
297
- - lib/mediawiktory/generated/userinfo.rb
298
- - lib/mediawiktory/generated/userrights.rb
299
- - lib/mediawiktory/generated/users.rb
300
- - lib/mediawiktory/generated/validatepassword.rb
301
- - lib/mediawiktory/generated/videoinfo.rb
302
- - lib/mediawiktory/generated/visualeditor.rb
303
- - lib/mediawiktory/generated/visualeditoredit.rb
304
- - lib/mediawiktory/generated/watch.rb
305
- - lib/mediawiktory/generated/watchlist.rb
306
- - lib/mediawiktory/generated/watchlistraw.rb
307
- - lib/mediawiktory/generated/wbentityusage.rb
308
- - lib/mediawiktory/generated/wblistentityusage.rb
309
- - lib/mediawiktory/generated/webapp-manifest.rb
310
- - lib/mediawiktory/generated/wikibase.rb
311
- - lib/mediawiktory/generated/wikilove.rb
312
- - lib/mediawiktory/generated/wikisets.rb
313
- - lib/mediawiktory/generated/zeroconfig.rb
314
- - lib/mediawiktory/mw_module.rb
315
- - lib/mediawiktory/page.rb
316
- - lib/mediawiktory/query.rb
113
+ - lib/mediawiktory/generator.rb
114
+ - lib/mediawiktory/generator/api.rb
115
+ - lib/mediawiktory/generator/module.rb
116
+ - lib/mediawiktory/generator/param.rb
117
+ - lib/mediawiktory/generator/renderable.rb
118
+ - lib/mediawiktory/generator/templates/_action_method.erb
119
+ - lib/mediawiktory/generator/templates/_module_in_param_docs.erb
120
+ - lib/mediawiktory/generator/templates/_param_impl_boolean.erb
121
+ - lib/mediawiktory/generator/templates/_param_impl_enum.erb
122
+ - lib/mediawiktory/generator/templates/_param_impl_enum_of_modules.erb
123
+ - lib/mediawiktory/generator/templates/_param_impl_string.erb
124
+ - lib/mediawiktory/generator/templates/_param_impl_timestamp.erb
125
+ - lib/mediawiktory/generator/templates/_param_method.erb
126
+ - lib/mediawiktory/generator/templates/action.rb.erb
127
+ - lib/mediawiktory/generator/templates/action_class.rb.erb
128
+ - lib/mediawiktory/generator/templates/actions.rb.erb
129
+ - lib/mediawiktory/generator/templates/api.rb.erb
130
+ - lib/mediawiktory/generator/templates/client.rb.erb
131
+ - lib/mediawiktory/generator/templates/module_class.rb.erb
132
+ - lib/mediawiktory/generator/templates/response.rb.erb
317
133
  - lib/mediawiktory/version.rb
134
+ - lib/mediawiktory/wikipedia/actions.rb
135
+ - lib/mediawiktory/wikipedia/actions/abusefiltercheckmatch.rb
136
+ - lib/mediawiktory/wikipedia/actions/abusefilterchecksyntax.rb
137
+ - lib/mediawiktory/wikipedia/actions/abusefilterevalexpression.rb
138
+ - lib/mediawiktory/wikipedia/actions/abusefilterunblockautopromote.rb
139
+ - lib/mediawiktory/wikipedia/actions/addstudents.rb
140
+ - lib/mediawiktory/wikipedia/actions/antispoof.rb
141
+ - lib/mediawiktory/wikipedia/actions/base.rb
142
+ - lib/mediawiktory/wikipedia/actions/block.rb
143
+ - lib/mediawiktory/wikipedia/actions/bouncehandler.rb
144
+ - lib/mediawiktory/wikipedia/actions/categorytree.rb
145
+ - lib/mediawiktory/wikipedia/actions/centralauthtoken.rb
146
+ - lib/mediawiktory/wikipedia/actions/centralnoticechoicedata.rb
147
+ - lib/mediawiktory/wikipedia/actions/centralnoticequerycampaign.rb
148
+ - lib/mediawiktory/wikipedia/actions/changeauthenticationdata.rb
149
+ - lib/mediawiktory/wikipedia/actions/checktoken.rb
150
+ - lib/mediawiktory/wikipedia/actions/cirrus-config-dump.rb
151
+ - lib/mediawiktory/wikipedia/actions/cirrus-mapping-dump.rb
152
+ - lib/mediawiktory/wikipedia/actions/cirrus-settings-dump.rb
153
+ - lib/mediawiktory/wikipedia/actions/clearhasmsg.rb
154
+ - lib/mediawiktory/wikipedia/actions/clientlogin.rb
155
+ - lib/mediawiktory/wikipedia/actions/compare.rb
156
+ - lib/mediawiktory/wikipedia/actions/createaccount.rb
157
+ - lib/mediawiktory/wikipedia/actions/cspreport.rb
158
+ - lib/mediawiktory/wikipedia/actions/cxconfiguration.rb
159
+ - lib/mediawiktory/wikipedia/actions/cxdelete.rb
160
+ - lib/mediawiktory/wikipedia/actions/cxpublish.rb
161
+ - lib/mediawiktory/wikipedia/actions/cxsave.rb
162
+ - lib/mediawiktory/wikipedia/actions/cxsuggestionlist.rb
163
+ - lib/mediawiktory/wikipedia/actions/cxtoken.rb
164
+ - lib/mediawiktory/wikipedia/actions/delete.rb
165
+ - lib/mediawiktory/wikipedia/actions/deleteeducation.rb
166
+ - lib/mediawiktory/wikipedia/actions/deleteglobalaccount.rb
167
+ - lib/mediawiktory/wikipedia/actions/echomarkread.rb
168
+ - lib/mediawiktory/wikipedia/actions/echomarkseen.rb
169
+ - lib/mediawiktory/wikipedia/actions/edit.rb
170
+ - lib/mediawiktory/wikipedia/actions/editmassmessagelist.rb
171
+ - lib/mediawiktory/wikipedia/actions/emailuser.rb
172
+ - lib/mediawiktory/wikipedia/actions/enlist.rb
173
+ - lib/mediawiktory/wikipedia/actions/expandtemplates.rb
174
+ - lib/mediawiktory/wikipedia/actions/fancycaptchareload.rb
175
+ - lib/mediawiktory/wikipedia/actions/featuredfeed.rb
176
+ - lib/mediawiktory/wikipedia/actions/feedcontributions.rb
177
+ - lib/mediawiktory/wikipedia/actions/feedrecentchanges.rb
178
+ - lib/mediawiktory/wikipedia/actions/feedwatchlist.rb
179
+ - lib/mediawiktory/wikipedia/actions/filerevert.rb
180
+ - lib/mediawiktory/wikipedia/actions/flagconfig.rb
181
+ - lib/mediawiktory/wikipedia/actions/globalblock.rb
182
+ - lib/mediawiktory/wikipedia/actions/globaluserrights.rb
183
+ - lib/mediawiktory/wikipedia/actions/graph.rb
184
+ - lib/mediawiktory/wikipedia/actions/help.rb
185
+ - lib/mediawiktory/wikipedia/actions/imagerotate.rb
186
+ - lib/mediawiktory/wikipedia/actions/import.rb
187
+ - lib/mediawiktory/wikipedia/actions/jsonconfig.rb
188
+ - lib/mediawiktory/wikipedia/actions/jsondata.rb
189
+ - lib/mediawiktory/wikipedia/actions/languagesearch.rb
190
+ - lib/mediawiktory/wikipedia/actions/linkaccount.rb
191
+ - lib/mediawiktory/wikipedia/actions/liststudents.rb
192
+ - lib/mediawiktory/wikipedia/actions/login.rb
193
+ - lib/mediawiktory/wikipedia/actions/logout.rb
194
+ - lib/mediawiktory/wikipedia/actions/managetags.rb
195
+ - lib/mediawiktory/wikipedia/actions/massmessage.rb
196
+ - lib/mediawiktory/wikipedia/actions/mergehistory.rb
197
+ - lib/mediawiktory/wikipedia/actions/mobileview.rb
198
+ - lib/mediawiktory/wikipedia/actions/move.rb
199
+ - lib/mediawiktory/wikipedia/actions/oathvalidate.rb
200
+ - lib/mediawiktory/wikipedia/actions/opensearch.rb
201
+ - lib/mediawiktory/wikipedia/actions/options.rb
202
+ - lib/mediawiktory/wikipedia/actions/pagetriageaction.rb
203
+ - lib/mediawiktory/wikipedia/actions/pagetriagelist.rb
204
+ - lib/mediawiktory/wikipedia/actions/pagetriagestats.rb
205
+ - lib/mediawiktory/wikipedia/actions/pagetriagetagging.rb
206
+ - lib/mediawiktory/wikipedia/actions/pagetriagetemplate.rb
207
+ - lib/mediawiktory/wikipedia/actions/paraminfo.rb
208
+ - lib/mediawiktory/wikipedia/actions/parse.rb
209
+ - lib/mediawiktory/wikipedia/actions/parsoid-batch.rb
210
+ - lib/mediawiktory/wikipedia/actions/patrol.rb
211
+ - lib/mediawiktory/wikipedia/actions/protect.rb
212
+ - lib/mediawiktory/wikipedia/actions/purge.rb
213
+ - lib/mediawiktory/wikipedia/actions/query.rb
214
+ - lib/mediawiktory/wikipedia/actions/refresheducation.rb
215
+ - lib/mediawiktory/wikipedia/actions/removeauthenticationdata.rb
216
+ - lib/mediawiktory/wikipedia/actions/resetpassword.rb
217
+ - lib/mediawiktory/wikipedia/actions/review.rb
218
+ - lib/mediawiktory/wikipedia/actions/reviewactivity.rb
219
+ - lib/mediawiktory/wikipedia/actions/revisiondelete.rb
220
+ - lib/mediawiktory/wikipedia/actions/rollback.rb
221
+ - lib/mediawiktory/wikipedia/actions/rsd.rb
222
+ - lib/mediawiktory/wikipedia/actions/sanitize-mapdata.rb
223
+ - lib/mediawiktory/wikipedia/actions/scribunto-console.rb
224
+ - lib/mediawiktory/wikipedia/actions/setglobalaccountstatus.rb
225
+ - lib/mediawiktory/wikipedia/actions/setnotificationtimestamp.rb
226
+ - lib/mediawiktory/wikipedia/actions/setpagelanguage.rb
227
+ - lib/mediawiktory/wikipedia/actions/shortenurl.rb
228
+ - lib/mediawiktory/wikipedia/actions/sitematrix.rb
229
+ - lib/mediawiktory/wikipedia/actions/spamblacklist.rb
230
+ - lib/mediawiktory/wikipedia/actions/stabilize.rb
231
+ - lib/mediawiktory/wikipedia/actions/stashedit.rb
232
+ - lib/mediawiktory/wikipedia/actions/strikevote.rb
233
+ - lib/mediawiktory/wikipedia/actions/tag.rb
234
+ - lib/mediawiktory/wikipedia/actions/templatedata.rb
235
+ - lib/mediawiktory/wikipedia/actions/thank.rb
236
+ - lib/mediawiktory/wikipedia/actions/titleblacklist.rb
237
+ - lib/mediawiktory/wikipedia/actions/tokens.rb
238
+ - lib/mediawiktory/wikipedia/actions/transcodereset.rb
239
+ - lib/mediawiktory/wikipedia/actions/ulslocalization.rb
240
+ - lib/mediawiktory/wikipedia/actions/unblock.rb
241
+ - lib/mediawiktory/wikipedia/actions/undelete.rb
242
+ - lib/mediawiktory/wikipedia/actions/unlinkaccount.rb
243
+ - lib/mediawiktory/wikipedia/actions/upload.rb
244
+ - lib/mediawiktory/wikipedia/actions/userrights.rb
245
+ - lib/mediawiktory/wikipedia/actions/validatepassword.rb
246
+ - lib/mediawiktory/wikipedia/actions/visualeditor.rb
247
+ - lib/mediawiktory/wikipedia/actions/visualeditoredit.rb
248
+ - lib/mediawiktory/wikipedia/actions/watch.rb
249
+ - lib/mediawiktory/wikipedia/actions/webapp-manifest.rb
250
+ - lib/mediawiktory/wikipedia/actions/wikilove.rb
251
+ - lib/mediawiktory/wikipedia/actions/zeroconfig.rb
252
+ - lib/mediawiktory/wikipedia/api.rb
253
+ - lib/mediawiktory/wikipedia/client.rb
254
+ - lib/mediawiktory/wikipedia/modules/abusefilters.rb
255
+ - lib/mediawiktory/wikipedia/modules/abuselog.rb
256
+ - lib/mediawiktory/wikipedia/modules/allcategories.rb
257
+ - lib/mediawiktory/wikipedia/modules/alldeletedrevisions.rb
258
+ - lib/mediawiktory/wikipedia/modules/allfileusages.rb
259
+ - lib/mediawiktory/wikipedia/modules/allimages.rb
260
+ - lib/mediawiktory/wikipedia/modules/alllinks.rb
261
+ - lib/mediawiktory/wikipedia/modules/allmessages.rb
262
+ - lib/mediawiktory/wikipedia/modules/allpages.rb
263
+ - lib/mediawiktory/wikipedia/modules/allredirects.rb
264
+ - lib/mediawiktory/wikipedia/modules/allrevisions.rb
265
+ - lib/mediawiktory/wikipedia/modules/alltransclusions.rb
266
+ - lib/mediawiktory/wikipedia/modules/allusers.rb
267
+ - lib/mediawiktory/wikipedia/modules/authmanagerinfo.rb
268
+ - lib/mediawiktory/wikipedia/modules/babel.rb
269
+ - lib/mediawiktory/wikipedia/modules/backlinks.rb
270
+ - lib/mediawiktory/wikipedia/modules/betafeatures.rb
271
+ - lib/mediawiktory/wikipedia/modules/blocks.rb
272
+ - lib/mediawiktory/wikipedia/modules/categories.rb
273
+ - lib/mediawiktory/wikipedia/modules/categoryinfo.rb
274
+ - lib/mediawiktory/wikipedia/modules/categorymembers.rb
275
+ - lib/mediawiktory/wikipedia/modules/centralnoticelogs.rb
276
+ - lib/mediawiktory/wikipedia/modules/checkuser.rb
277
+ - lib/mediawiktory/wikipedia/modules/checkuserlog.rb
278
+ - lib/mediawiktory/wikipedia/modules/contenttranslation.rb
279
+ - lib/mediawiktory/wikipedia/modules/contenttranslationcorpora.rb
280
+ - lib/mediawiktory/wikipedia/modules/contenttranslationlangtrend.rb
281
+ - lib/mediawiktory/wikipedia/modules/contenttranslationstats.rb
282
+ - lib/mediawiktory/wikipedia/modules/contenttranslationsuggestions.rb
283
+ - lib/mediawiktory/wikipedia/modules/contributors.rb
284
+ - lib/mediawiktory/wikipedia/modules/coordinates.rb
285
+ - lib/mediawiktory/wikipedia/modules/cxpublishedtranslations.rb
286
+ - lib/mediawiktory/wikipedia/modules/cxtranslatorstats.rb
287
+ - lib/mediawiktory/wikipedia/modules/deletedrevisions.rb
288
+ - lib/mediawiktory/wikipedia/modules/deletedrevs.rb
289
+ - lib/mediawiktory/wikipedia/modules/duplicatefiles.rb
290
+ - lib/mediawiktory/wikipedia/modules/embeddedin.rb
291
+ - lib/mediawiktory/wikipedia/modules/extlinks.rb
292
+ - lib/mediawiktory/wikipedia/modules/extracts.rb
293
+ - lib/mediawiktory/wikipedia/modules/exturlusage.rb
294
+ - lib/mediawiktory/wikipedia/modules/featureusage.rb
295
+ - lib/mediawiktory/wikipedia/modules/filearchive.rb
296
+ - lib/mediawiktory/wikipedia/modules/filerepoinfo.rb
297
+ - lib/mediawiktory/wikipedia/modules/fileusage.rb
298
+ - lib/mediawiktory/wikipedia/modules/flagged.rb
299
+ - lib/mediawiktory/wikipedia/modules/g-allcategories.rb
300
+ - lib/mediawiktory/wikipedia/modules/g-alldeletedrevisions.rb
301
+ - lib/mediawiktory/wikipedia/modules/g-allfileusages.rb
302
+ - lib/mediawiktory/wikipedia/modules/g-allimages.rb
303
+ - lib/mediawiktory/wikipedia/modules/g-alllinks.rb
304
+ - lib/mediawiktory/wikipedia/modules/g-allpages.rb
305
+ - lib/mediawiktory/wikipedia/modules/g-allredirects.rb
306
+ - lib/mediawiktory/wikipedia/modules/g-allrevisions.rb
307
+ - lib/mediawiktory/wikipedia/modules/g-alltransclusions.rb
308
+ - lib/mediawiktory/wikipedia/modules/g-backlinks.rb
309
+ - lib/mediawiktory/wikipedia/modules/g-categories.rb
310
+ - lib/mediawiktory/wikipedia/modules/g-categorymembers.rb
311
+ - lib/mediawiktory/wikipedia/modules/g-contenttranslation.rb
312
+ - lib/mediawiktory/wikipedia/modules/g-contenttranslationsuggestions.rb
313
+ - lib/mediawiktory/wikipedia/modules/g-deletedrevisions.rb
314
+ - lib/mediawiktory/wikipedia/modules/g-duplicatefiles.rb
315
+ - lib/mediawiktory/wikipedia/modules/g-embeddedin.rb
316
+ - lib/mediawiktory/wikipedia/modules/g-exturlusage.rb
317
+ - lib/mediawiktory/wikipedia/modules/g-fileusage.rb
318
+ - lib/mediawiktory/wikipedia/modules/g-geosearch.rb
319
+ - lib/mediawiktory/wikipedia/modules/g-gettingstartedgetpages.rb
320
+ - lib/mediawiktory/wikipedia/modules/g-images.rb
321
+ - lib/mediawiktory/wikipedia/modules/g-imageusage.rb
322
+ - lib/mediawiktory/wikipedia/modules/g-iwbacklinks.rb
323
+ - lib/mediawiktory/wikipedia/modules/g-langbacklinks.rb
324
+ - lib/mediawiktory/wikipedia/modules/g-links.rb
325
+ - lib/mediawiktory/wikipedia/modules/g-linkshere.rb
326
+ - lib/mediawiktory/wikipedia/modules/g-mostviewed.rb
327
+ - lib/mediawiktory/wikipedia/modules/g-oldreviewedpages.rb
328
+ - lib/mediawiktory/wikipedia/modules/g-pageswithprop.rb
329
+ - lib/mediawiktory/wikipedia/modules/g-prefixsearch.rb
330
+ - lib/mediawiktory/wikipedia/modules/g-projectpages.rb
331
+ - lib/mediawiktory/wikipedia/modules/g-protectedtitles.rb
332
+ - lib/mediawiktory/wikipedia/modules/g-querypage.rb
333
+ - lib/mediawiktory/wikipedia/modules/g-random.rb
334
+ - lib/mediawiktory/wikipedia/modules/g-recentchanges.rb
335
+ - lib/mediawiktory/wikipedia/modules/g-redirects.rb
336
+ - lib/mediawiktory/wikipedia/modules/g-revisions.rb
337
+ - lib/mediawiktory/wikipedia/modules/g-search.rb
338
+ - lib/mediawiktory/wikipedia/modules/g-templates.rb
339
+ - lib/mediawiktory/wikipedia/modules/g-transcludedin.rb
340
+ - lib/mediawiktory/wikipedia/modules/g-watchlist.rb
341
+ - lib/mediawiktory/wikipedia/modules/g-watchlistraw.rb
342
+ - lib/mediawiktory/wikipedia/modules/g-wblistentityusage.rb
343
+ - lib/mediawiktory/wikipedia/modules/gadgetcategories.rb
344
+ - lib/mediawiktory/wikipedia/modules/gadgets.rb
345
+ - lib/mediawiktory/wikipedia/modules/geosearch.rb
346
+ - lib/mediawiktory/wikipedia/modules/gettingstartedgetpages.rb
347
+ - lib/mediawiktory/wikipedia/modules/globalallusers.rb
348
+ - lib/mediawiktory/wikipedia/modules/globalblocks.rb
349
+ - lib/mediawiktory/wikipedia/modules/globalgroups.rb
350
+ - lib/mediawiktory/wikipedia/modules/globalusage.rb
351
+ - lib/mediawiktory/wikipedia/modules/globaluserinfo.rb
352
+ - lib/mediawiktory/wikipedia/modules/imageinfo.rb
353
+ - lib/mediawiktory/wikipedia/modules/images.rb
354
+ - lib/mediawiktory/wikipedia/modules/imageusage.rb
355
+ - lib/mediawiktory/wikipedia/modules/info.rb
356
+ - lib/mediawiktory/wikipedia/modules/iwbacklinks.rb
357
+ - lib/mediawiktory/wikipedia/modules/iwlinks.rb
358
+ - lib/mediawiktory/wikipedia/modules/json.rb
359
+ - lib/mediawiktory/wikipedia/modules/jsonfm.rb
360
+ - lib/mediawiktory/wikipedia/modules/langbacklinks.rb
361
+ - lib/mediawiktory/wikipedia/modules/langlinks.rb
362
+ - lib/mediawiktory/wikipedia/modules/links.rb
363
+ - lib/mediawiktory/wikipedia/modules/linkshere.rb
364
+ - lib/mediawiktory/wikipedia/modules/logevents.rb
365
+ - lib/mediawiktory/wikipedia/modules/mapdata.rb
366
+ - lib/mediawiktory/wikipedia/modules/mmsites.rb
367
+ - lib/mediawiktory/wikipedia/modules/mostviewed.rb
368
+ - lib/mediawiktory/wikipedia/modules/mystashedfiles.rb
369
+ - lib/mediawiktory/wikipedia/modules/none.rb
370
+ - lib/mediawiktory/wikipedia/modules/notifications.rb
371
+ - lib/mediawiktory/wikipedia/modules/oath.rb
372
+ - lib/mediawiktory/wikipedia/modules/oldreviewedpages.rb
373
+ - lib/mediawiktory/wikipedia/modules/ores.rb
374
+ - lib/mediawiktory/wikipedia/modules/pageassessments.rb
375
+ - lib/mediawiktory/wikipedia/modules/pageimages.rb
376
+ - lib/mediawiktory/wikipedia/modules/pagepropnames.rb
377
+ - lib/mediawiktory/wikipedia/modules/pageprops.rb
378
+ - lib/mediawiktory/wikipedia/modules/pageswithprop.rb
379
+ - lib/mediawiktory/wikipedia/modules/pageterms.rb
380
+ - lib/mediawiktory/wikipedia/modules/pageviews.rb
381
+ - lib/mediawiktory/wikipedia/modules/php.rb
382
+ - lib/mediawiktory/wikipedia/modules/phpfm.rb
383
+ - lib/mediawiktory/wikipedia/modules/prefixsearch.rb
384
+ - lib/mediawiktory/wikipedia/modules/projectpages.rb
385
+ - lib/mediawiktory/wikipedia/modules/projects.rb
386
+ - lib/mediawiktory/wikipedia/modules/protectedtitles.rb
387
+ - lib/mediawiktory/wikipedia/modules/querypage.rb
388
+ - lib/mediawiktory/wikipedia/modules/random.rb
389
+ - lib/mediawiktory/wikipedia/modules/rawfm.rb
390
+ - lib/mediawiktory/wikipedia/modules/recentchanges.rb
391
+ - lib/mediawiktory/wikipedia/modules/redirects.rb
392
+ - lib/mediawiktory/wikipedia/modules/references.rb
393
+ - lib/mediawiktory/wikipedia/modules/revisions.rb
394
+ - lib/mediawiktory/wikipedia/modules/search.rb
395
+ - lib/mediawiktory/wikipedia/modules/siteinfo.rb
396
+ - lib/mediawiktory/wikipedia/modules/siteviews.rb
397
+ - lib/mediawiktory/wikipedia/modules/stashimageinfo.rb
398
+ - lib/mediawiktory/wikipedia/modules/tags.rb
399
+ - lib/mediawiktory/wikipedia/modules/templates.rb
400
+ - lib/mediawiktory/wikipedia/modules/tokens.rb
401
+ - lib/mediawiktory/wikipedia/modules/transcludedin.rb
402
+ - lib/mediawiktory/wikipedia/modules/transcodestatus.rb
403
+ - lib/mediawiktory/wikipedia/modules/unreadnotificationpages.rb
404
+ - lib/mediawiktory/wikipedia/modules/usercontribs.rb
405
+ - lib/mediawiktory/wikipedia/modules/userinfo.rb
406
+ - lib/mediawiktory/wikipedia/modules/users.rb
407
+ - lib/mediawiktory/wikipedia/modules/videoinfo.rb
408
+ - lib/mediawiktory/wikipedia/modules/watchlist.rb
409
+ - lib/mediawiktory/wikipedia/modules/watchlistraw.rb
410
+ - lib/mediawiktory/wikipedia/modules/wbentityusage.rb
411
+ - lib/mediawiktory/wikipedia/modules/wblistentityusage.rb
412
+ - lib/mediawiktory/wikipedia/modules/wikibase.rb
413
+ - lib/mediawiktory/wikipedia/modules/wikisets.rb
414
+ - lib/mediawiktory/wikipedia/modules/xml.rb
415
+ - lib/mediawiktory/wikipedia/modules/xmlfm.rb
416
+ - lib/mediawiktory/wikipedia/response.rb
318
417
  - lib/nokogiri/more.rb
319
418
  - mediawiktory.gemspec
320
- - script/data/api.yaml
321
- - script/lib/api.rb
322
- - script/lib/module.rb
323
- - script/lib/parameter.rb
324
- - script/parse_api.rb
325
- - test/cache.rb
326
419
  homepage: https://github.com/molybdenum-99/mediawiktory
327
420
  licenses:
328
421
  - MIT
329
422
  metadata: {}
330
- post_install_message:
423
+ post_install_message:
331
424
  rdoc_options: []
332
425
  require_paths:
333
426
  - lib
@@ -335,16 +428,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
428
  requirements:
336
429
  - - ">="
337
430
  - !ruby/object:Gem::Version
338
- version: '0'
431
+ version: 2.1.0
339
432
  required_rubygems_version: !ruby/object:Gem::Requirement
340
433
  requirements:
341
434
  - - ">="
342
435
  - !ruby/object:Gem::Version
343
436
  version: '0'
344
437
  requirements: []
345
- rubyforge_project:
346
- rubygems_version: 2.6.10
347
- signing_key:
438
+ rubyforge_project:
439
+ rubygems_version: 2.6.8
440
+ signing_key:
348
441
  specification_version: 4
349
442
  summary: Full-featured MediaWiki client with Arel-like queries
350
443
  test_files: []