Module: MediaWiktory::Wikipedia::Modules::Watchlist

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

Overview

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 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

#allrevself

Include multiple revisions of the same page within given timeframe.

Returns:

  • (self)


24
25
26
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 24

def allrev()
  merge(wlallrev: 'true')
end

#continue(value) ⇒ self

When more results are available, use this to continue.

Parameters:

  • value (String)

Returns:

  • (self)


153
154
155
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 153

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

#dir(value) ⇒ self

In which direction to enumerate:

Parameters:

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

Returns:

  • (self)


77
78
79
# 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) ⇒ self

The timestamp to end enumerating.

Parameters:

  • value (Time)

Returns:

  • (self)


40
41
42
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 40

def end(value)
  merge(wlend: value.iso8601)
end

#excludeuser(value) ⇒ self

Don't list changes by this user.

Parameters:

  • value (String)

Returns:

  • (self)


69
70
71
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 69

def excludeuser(value)
  merge(wlexcludeuser: value.to_s)
end

#limit(value) ⇒ self

How many total results to return per request.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


90
91
92
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 90

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

#namespace(*values) ⇒ self

Filter changes to only the given namespaces.

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)


48
49
50
# 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) ⇒ self

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

Parameters:

  • value (String)

Returns:

  • (self)


137
138
139
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 137

def owner(value)
  merge(wlowner: value.to_s)
end

#prop(*values) ⇒ self

Which additional properties to get:

Parameters:

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

Returns:

  • (self)


98
99
100
# 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) ⇒ self

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

Parameters:

  • values (Array<String>)

    Allowed values: "minor", "!minor", "bot", "!bot", "anon", "!anon", "patrolled", "!patrolled", "unread", "!unread".

Returns:

  • (self)


111
112
113
# 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) ⇒ self

The timestamp to start enumerating from.

Parameters:

  • value (Time)

Returns:

  • (self)


32
33
34
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 32

def start(value)
  merge(wlstart: value.iso8601)
end

#token(value) ⇒ self

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

Parameters:

  • value (String)

Returns:

  • (self)


145
146
147
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 145

def token(value)
  merge(wltoken: value.to_s)
end

#type(*values) ⇒ self

Which types of changes to show:

Parameters:

  • values (Array<String>)

    Allowed values: "edit" (Regular page edits), "new" (Page creations), "log" (Log entries), "external" (External changes), "categorize" (Category membership changes).

Returns:

  • (self)


124
125
126
# 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) ⇒ self

Only list changes by this user.

Parameters:

  • value (String)

Returns:

  • (self)


61
62
63
# File 'lib/mediawiktory/wikipedia/modules/watchlist.rb', line 61

def user(value)
  merge(wluser: value.to_s)
end