Module: MediaWiktory::Wikipedia::Modules::Pageswithprop

Defined in:
lib/mediawiktory/wikipedia/modules/pageswithprop.rb

Overview

List all pages using a given page property.

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

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.

Instance Method Summary collapse

Instance Method Details

#continue(value) ⇒ self

When more results are available, use this to continue.

Parameters:

  • value (String)

Returns:

  • (self)


46
47
48
# File 'lib/mediawiktory/wikipedia/modules/pageswithprop.rb', line 46

def continue(value)
  merge(pwpcontinue: value.to_s)
end

#dir(value) ⇒ self

In which direction to sort.

Parameters:

  • value (String)

    One of "ascending", "descending".

Returns:

  • (self)


62
63
64
# File 'lib/mediawiktory/wikipedia/modules/pageswithprop.rb', line 62

def dir(value)
  _dir(value) or fail ArgumentError, "Unknown value for dir: #{value}"
end

#limit(value) ⇒ self

The maximum number of pages to return.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


54
55
56
# File 'lib/mediawiktory/wikipedia/modules/pageswithprop.rb', line 54

def limit(value)
  merge(pwplimit: value.to_s)
end

#prop(*values) ⇒ self

Which pieces of information to include:

Parameters:

  • values (Array<String>)

    Allowed values: "ids" (Adds the page ID), "title" (Adds the title and namespace ID of the page), "value" (Adds the value of the page property).

Returns:

  • (self)


33
34
35
# File 'lib/mediawiktory/wikipedia/modules/pageswithprop.rb', line 33

def prop(*values)
  values.inject(self) { |res, val| res._prop(val) or fail ArgumentError, "Unknown value for prop: #{val}" }
end

#propname(value) ⇒ self

Page property for which to enumerate pages (action=query&list=pagepropnames returns page property names in use).

Parameters:

  • value (String)

Returns:

  • (self)


25
26
27
# File 'lib/mediawiktory/wikipedia/modules/pageswithprop.rb', line 25

def propname(value)
  merge(pwppropname: value.to_s)
end