lib/media_wiki/gateway.rb in mediawiki-gateway-0.6.1 vs lib/media_wiki/gateway.rb in mediawiki-gateway-0.6.2
- old
+ new
@@ -666,9 +666,29 @@
'export' => nil,
'exportnowrap' => nil
)).first
end
+ # Get the wiki's siteinfo as a hash. See http://www.mediawiki.org/wiki/API:Siteinfo.
+ #
+ # [options] Hash of additional options
+ def siteinfo(options = {})
+ res = make_api_request(options.merge(
+ 'action' => 'query',
+ 'meta' => 'siteinfo'
+ )).first
+
+ REXML::XPath.first(res, '//query/general')
+ .attributes.each_with_object({}) { |(k, v), h| h[k] = v }
+ end
+
+ # Get the wiki's MediaWiki version.
+ #
+ # [options] Hash of additional options passed to #siteinfo
+ def version(options = {})
+ siteinfo(options).fetch('generator', '').split.last
+ end
+
# Get a list of all known namespaces
#
# [options] Hash of additional options
#
# Returns array of namespaces (name => id)