module MediaWiktory::Wikipedia::Modules::Categorymembers

List all pages in a given category.

The “submodule” (MediaWiki API term) is included in action after setting some param, providing additional tweaking for this param. Example (for {MediaWiktory::Wikipedia::Actions::Query} and its submodules):

“`ruby api.query # returns Actions::Query

.prop(:revisions)  # adds prop=revisions to action URL, and includes Modules::Revisions into action
.limit(10)         # method of Modules::Revisions, adds rvlimit=10 to URL

“`

All submodule's parameters are documented as its public methods, see below.

Public Instance Methods

_dir(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 114
def _dir(value)
  defined?(super) && super || ["asc", "desc", "ascending", "descending", "newer", "older"].include?(value.to_s) && merge(cmdir: value.to_s)
end
_namespace(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 59
def _namespace(value)
  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(cmnamespace: value.to_s, replace: false)
end
_prop(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 46
def _prop(value)
  defined?(super) && super || ["ids", "title", "sortkey", "sortkeyprefix", "type", "timestamp"].include?(value.to_s) && merge(cmprop: value.to_s, replace: false)
end
_sort(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 101
def _sort(value)
  defined?(super) && super || ["sortkey", "timestamp"].include?(value.to_s) && merge(cmsort: value.to_s)
end
_type(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 72
def _type(value)
  defined?(super) && super || ["page", "subcat", "file"].include?(value.to_s) && merge(cmtype: value.to_s, replace: false)
end
continue(value) click to toggle source

When more results are available, use this to continue.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 80
def continue(value)
  merge(cmcontinue: value.to_s)
end
dir(value) click to toggle source

In which direction to sort.

@param value [String] One of “asc”, “desc”, “ascending”, “descending”, “newer”, “older”. @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 109
def dir(value)
  _dir(value) or fail ArgumentError, "Unknown value for dir: #{value}"
end
end(value) click to toggle source

Timestamp to end listing at. Can only be used with cmsort=timestamp.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 130
def end(value)
  merge(cmend: value.iso8601)
end
endhexsortkey(value) click to toggle source

Sortkey to end listing at, as returned by cmprop=sortkey. Can only be used with cmsort=sortkey.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 146
def endhexsortkey(value)
  merge(cmendhexsortkey: value.to_s)
end
endsortkey(value) click to toggle source

Use cmendhexsortkey instead.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 178
def endsortkey(value)
  merge(cmendsortkey: value.to_s)
end
endsortkeyprefix(value) click to toggle source

Sortkey prefix to end listing before (not at; if this value occurs it will not be included!). Can only be used with cmsort=sortkey. Overrides cmendhexsortkey.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 162
def endsortkeyprefix(value)
  merge(cmendsortkeyprefix: value.to_s)
end
limit(value) click to toggle source

The maximum number of pages to return.

@param value [Integer, “max”] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 88
def limit(value)
  merge(cmlimit: value.to_s)
end
namespace(*values) click to toggle source

Only include pages in these namespaces. Note that cmtype=subcat or cmtype=file may be used instead of cmnamespace=14 or 6.

@param values [Array<String>] Allowed values: “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”. @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 54
def namespace(*values)
  values.inject(self) { |res, val| res._namespace(val) or fail ArgumentError, "Unknown value for namespace: #{val}" }
end
pageid(value) click to toggle source

Page ID of the category to enumerate. Cannot be used together with cmtitle.

@param value [Integer] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 33
def pageid(value)
  merge(cmpageid: value.to_s)
end
prop(*values) click to toggle source

Which pieces of information to include:

@param values [Array<String>] Allowed values: “ids” (Adds the page ID), “title” (Adds the title and namespace ID of the page), “sortkey” (Adds the sortkey used for sorting in the category (hexadecimal string)), “sortkeyprefix” (Adds the sortkey prefix used for sorting in the category (human-readable part of the sortkey)), “type” (Adds the type that the page has been categorised as (page, subcat or file)), “timestamp” (Adds the timestamp of when the page was included). @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 41
def prop(*values)
  values.inject(self) { |res, val| res._prop(val) or fail ArgumentError, "Unknown value for prop: #{val}" }
end
sort(value) click to toggle source

Property to sort by.

@param value [String] One of “sortkey”, “timestamp”. @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 96
def sort(value)
  _sort(value) or fail ArgumentError, "Unknown value for sort: #{value}"
end
start(value) click to toggle source

Timestamp to start listing from. Can only be used with cmsort=timestamp.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 122
def start(value)
  merge(cmstart: value.iso8601)
end
starthexsortkey(value) click to toggle source

Sortkey to start listing from, as returned by cmprop=sortkey. Can only be used with cmsort=sortkey.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 138
def starthexsortkey(value)
  merge(cmstarthexsortkey: value.to_s)
end
startsortkey(value) click to toggle source

Use cmstarthexsortkey instead.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 170
def startsortkey(value)
  merge(cmstartsortkey: value.to_s)
end
startsortkeyprefix(value) click to toggle source

Sortkey prefix to start listing from. Can only be used with cmsort=sortkey. Overrides cmstarthexsortkey.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 154
def startsortkeyprefix(value)
  merge(cmstartsortkeyprefix: value.to_s)
end
title(value) click to toggle source

Which category to enumerate (required). Must include the Category: prefix. Cannot be used together with cmpageid.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 25
def title(value)
  merge(cmtitle: value.to_s)
end
type(*values) click to toggle source

Which type of category members to include. Ignored when cmsort=timestamp is set.

@param values [Array<String>] Allowed values: “page”, “subcat”, “file”. @return [self]

# File lib/mediawiktory/wikipedia/modules/categorymembers.rb, line 67
def type(*values)
  values.inject(self) { |res, val| res._type(val) or fail ArgumentError, "Unknown value for type: #{val}" }
end