Module: MediaWiktory::Wikipedia::Modules::Exturlusage

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

Overview

Enumerate pages that contain a given URL.

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

#expandurlself

Expand protocol-relative URLs with the canonical protocol.

Returns:

  • (self)


87
88
89
# File 'lib/mediawiktory/wikipedia/modules/exturlusage.rb', line 87

def expandurl()
  merge(euexpandurl: 'true')
end

#limit(value) ⇒ self

How many pages to return.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


80
81
82
# File 'lib/mediawiktory/wikipedia/modules/exturlusage.rb', line 80

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

#namespace(*values) ⇒ self

The page namespaces to enumerate.

Parameters:

  • 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".

Returns:

  • (self)


67
68
69
# File 'lib/mediawiktory/wikipedia/modules/exturlusage.rb', line 67

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

#offset(value) ⇒ self

When more results are available, use this to continue.

Parameters:

  • value (Integer)

Returns:

  • (self)


38
39
40
# File 'lib/mediawiktory/wikipedia/modules/exturlusage.rb', line 38

def offset(value)
  merge(euoffset: value.to_s)
end

#prop(*values) ⇒ self

Which pieces of information to include:

Parameters:

  • values (Array<String>)

    Allowed values: "ids" (Adds the ID of page), "title" (Adds the title and namespace ID of the page), "url" (Adds the URL used in the page).

Returns:

  • (self)


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

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

#protocol(value) ⇒ self

Protocol of the URL. If empty and euquery is set, the protocol is http. Leave both this and euquery empty to list all external links.

Parameters:

  • value (String)

    One of "bitcoin", "ftp", "ftps", "geo", "git", "gopher", "http", "https", "irc", "ircs", "magnet", "mailto", "mms", "news", "nntp", "redis", "sftp", "sip", "sips", "sms", "ssh", "svn", "tel", "telnet", "urn", "worldwind", "xmpp".

Returns:

  • (self)


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

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

#query(value) ⇒ self

Search string without protocol. See Special:LinkSearch. Leave empty to list all external links.

Parameters:

  • value (String)

Returns:

  • (self)


59
60
61
# File 'lib/mediawiktory/wikipedia/modules/exturlusage.rb', line 59

def query(value)
  merge(euquery: value.to_s)
end