module MediaWiktory::Wikipedia::Modules::Watchlist

Get recent changes to pages in the current user's watchlist.

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/watchlist.rb, line 82
def _dir(value)
  defined?(super) && super || ["newer", "older"].include?(value.to_s) && merge(wldir: value.to_s)
end
_namespace(value) click to toggle source

@private

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

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 103
def _prop(value)
  defined?(super) && super || ["ids", "title", "flags", "user", "userid", "comment", "parsedcomment", "timestamp", "patrol", "sizes", "notificationtimestamp", "loginfo"].include?(value.to_s) && merge(wlprop: value.to_s, replace: false)
end
_show(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 116
def _show(value)
  defined?(super) && super || ["minor", "!minor", "bot", "!bot", "anon", "!anon", "patrolled", "!patrolled", "unread", "!unread"].include?(value.to_s) && merge(wlshow: value.to_s, replace: false)
end
_type(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 129
def _type(value)
  defined?(super) && super || ["edit", "new", "log", "external", "categorize"].include?(value.to_s) && merge(wltype: value.to_s, replace: false)
end
allrev() click to toggle source

Include multiple revisions of the same page within given timeframe.

@return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 24
def allrev()
  merge(wlallrev: 'true')
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/watchlist.rb, line 153
def continue(value)
  merge(wlcontinue: value.to_s)
end
dir(value) click to toggle source

In which direction to enumerate:

@param value [String] One of “newer” (List oldest first. Note: wlstart has to be before wlend), “older” (List newest first (default). Note: wlstart has to be later than wlend). @return [self]

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

The timestamp to end enumerating.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 40
def end(value)
  merge(wlend: value.iso8601)
end
excludeuser(value) click to toggle source

Don't list changes by this user.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 69
def excludeuser(value)
  merge(wlexcludeuser: value.to_s)
end
limit(value) click to toggle source

How many total results to return per request.

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

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

Filter changes to only the given namespaces.

@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/watchlist.rb, line 48
def namespace(*values)
  values.inject(self) { |res, val| res._namespace(val) or fail ArgumentError, "Unknown value for namespace: #{val}" }
end
owner(value) click to toggle source

Used along with wltoken to access a different user's watchlist.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 137
def owner(value)
  merge(wlowner: value.to_s)
end
prop(*values) click to toggle source

Which additional properties to get:

@param values [Array<String>] Allowed values: “ids” (Adds revision IDs and page IDs), “title” (Adds title of the page), “flags” (Adds flags for the edit), “user” (Adds the user who made the edit), “userid” (Adds user ID of whoever made the edit), “comment” (Adds comment of the edit), “parsedcomment” (Adds parsed comment of the edit), “timestamp” (Adds timestamp of the edit), “patrol” (Tags edits that are patrolled), “sizes” (Adds the old and new lengths of the page), “notificationtimestamp” (Adds timestamp of when the user was last notified about the edit), “loginfo” (Adds log information where appropriate). @return [self]

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

Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set wlshow=minor|!anon.

@param values [Array<String>] Allowed values: “minor”, “!minor”, “bot”, “!bot”, “anon”, “!anon”, “patrolled”, “!patrolled”, “unread”, “!unread”. @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 111
def show(*values)
  values.inject(self) { |res, val| res._show(val) or fail ArgumentError, "Unknown value for show: #{val}" }
end
start(value) click to toggle source

The timestamp to start enumerating from.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 32
def start(value)
  merge(wlstart: value.iso8601)
end
token(value) click to toggle source

A security token (available in the user's preferences) to allow access to another user's watchlist.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 145
def token(value)
  merge(wltoken: value.to_s)
end
type(*values) click to toggle source

Which types of changes to show:

@param values [Array<String>] Allowed values: “edit” (Regular page edits), “new” (Page creations), “log” (Log entries), “external” (External changes), “categorize” (Category membership changes). @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 124
def type(*values)
  values.inject(self) { |res, val| res._type(val) or fail ArgumentError, "Unknown value for type: #{val}" }
end
user(value) click to toggle source

Only list changes by this user.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/watchlist.rb, line 61
def user(value)
  merge(wluser: value.to_s)
end