module MediaWiki::Query::Lists::All

Public Instance Methods

get_all_blocks(limit = @query_limit_default) click to toggle source

Gets all block IDs on the wiki. It seems like this only gets non-IP blocks, but the MediaWiki docs are a bit unclear. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Blocks MediaWiki Blocks API Docs @since 0.8.0 @return [Array<Fixnum>] All block IDs as strings.

# File lib/mediawiki/query/lists/all.rb, line 74
def get_all_blocks(limit = @query_limit_default)
  params = {
    list: 'blocks',
    bklimit: get_limited(limit),
    bkprop: 'id'
  }

  query_ary(params, 'blocks', 'id')
end
get_all_categories(limit = @query_limit_default) click to toggle source

Gets all categories on the entire wiki. @param limit [Fixnum] The maximum number of categories to get. Cannot be greater than 500 for users or 5000

for bots.

@see www.mediawiki.org/wiki/API:Allcategories MediaWiki Allcategories API Docs @since 0.7.0 @return [Array<String>] An array of all categories.

# File lib/mediawiki/query/lists/all.rb, line 11
def get_all_categories(limit = @query_limit_default)
  params = {
    list: 'allcategories',
    aclimit: get_limited(limit)
  }

  query_ary(params, 'allcategories', '*')
end
get_all_deleted_files(limit = @query_limit_default) click to toggle source

Gets an array of all deleted or archived files on the wiki. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Filearchive MediaWiki Filearchive API Docs @since 0.8.0 @return [Array<String>] All deleted file names. These are not titles, so they do not include “File:”.

# File lib/mediawiki/query/lists/all.rb, line 105
def get_all_deleted_files(limit = @query_limit_default)
  params = {
    list: 'filearchive',
    falimit: get_limited(limit)
  }

  query_ary(params, 'filearchive', 'name')
end
get_all_images(limit = @query_limit_default) click to toggle source

Gets all the images on the wiki. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Allimages MediaWiki Allimages API Docs @since 0.7.0 @return [Array<String>] An array of all images.

# File lib/mediawiki/query/lists/all.rb, line 25
def get_all_images(limit = @query_limit_default)
  params = {
    list: 'allimages',
    ailimit: get_limited(limit)
  }

  query_ary(params, 'allimages', 'name')
end
get_all_pages_in_namespace(namespace, limit = @query_limit_default) click to toggle source

Gets all pages within a namespace integer. @param namespace [Fixnum] The namespace ID. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Allpages MediaWiki Allpages API Docs @since 0.8.0 @return [Array<String>] An array of all page titles.

# File lib/mediawiki/query/lists/all.rb, line 40
def get_all_pages_in_namespace(namespace, limit = @query_limit_default)
  params = {
    list: 'allpages',
    apnamespace: namespace,
    aplimit: get_limited(limit)
  }

  query_ary(params, 'allpages', 'title')
end
get_all_protected_titles(protection_level = nil, limit = @query_limit_default) click to toggle source

Gets a list of all protected pages, by protection level if provided. @param protection_level [String] The protection level, e.g., sysop @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Protectedtitles MediaWiki Protectedtitles API Docs @since 0.8.0 @return [Array<String>] All protected page titles.

# File lib/mediawiki/query/lists/all.rb, line 120
def get_all_protected_titles(protection_level = nil, limit = @query_limit_default)
  params = {
    list: 'protectedtitles',
    ptlimit: get_limited(limit)
  }
  params[:ptlevel] = protection_level unless protection_level.nil?

  query_ary(params, 'protectedtitles', 'title')
end
get_all_transcluders(page, limit = @query_limit_default) click to toggle source

Gets all page titles that transclude a given page. @param page [String] The page name. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Embeddedin MediaWiki Embeddedin API Docs @since 0.8.0 @return [Array<String>] All transcluder page titles.

# File lib/mediawiki/query/lists/all.rb, line 90
def get_all_transcluders(page, limit = @query_limit_default)
  params = {
    list: 'embeddedin',
    eititle: page,
    eilimit: get_limited(limit)
  }

  query_ary(params, 'embeddedin', 'title')
end
get_all_users(group = nil, limit = @query_limit_default) click to toggle source

Gets all users, or all users in a group. @param group [String] The group to limit this query to. @param (see get_all_categories) @see www.mediawiki.org/wiki/API:Allusers MediaWiki Allusers API Docs @since 0.8.0 @return [Hash<String, Fixnum>] A hash of all users, names are keys, IDs are values.

# File lib/mediawiki/query/lists/all.rb, line 56
def get_all_users(group = nil, limit = @query_limit_default)
  params = {
    list: 'allusers',
    aulimit: get_limited(limit)
  }
  params[:augroup] = group unless group.nil?

  query(params, {}) do |return_val, query|
    query['allusers'].each { |u| return_val[u['name']] = u['userid']}
  end
end