Module: MediaWiktory::Wikipedia::Modules::Recentchanges

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

Overview

Enumerate recent changes.

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)


158
159
160
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 158

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

#dir(value) ⇒ self

In which direction to enumerate:

Parameters:

  • value (String)

    One of "newer" (List oldest first. Note: rcstart has to be before rcend), "older" (List newest first (default). Note: rcstart has to be later than rcend).

Returns:

  • (self)


41
42
43
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 41

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)


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

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

#excludeuser(value) ⇒ self

Don't list changes by this user.

Parameters:

  • value (String)

Returns:

  • (self)


75
76
77
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 75

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

#generaterevisionsself

When being used as a generator, generate revision IDs rather than titles. Recent change entries without associated revision IDs (e.g. most log entries) will generate nothing.

Returns:

  • (self)


165
166
167
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 165

def generaterevisions()
  merge(rcgeneraterevisions: 'true')
end

#limit(value) ⇒ self

How many total changes to return.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


130
131
132
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 130

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

#namespace(*values) ⇒ self

Filter changes to only these namespaces.

Parameters:

  • values (Array<String>)

    Allowed values: "-2", "-1", "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)


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

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

#prop(*values) ⇒ self

Include additional pieces of information:

Parameters:

  • values (Array<String>)

    Allowed values: "user" (Adds the user responsible for the edit and tags if they are an IP), "userid" (Adds the user ID responsible for the edit), "comment" (Adds the comment for the edit), "parsedcomment" (Adds the parsed comment for the edit), "flags" (Adds flags for the edit), "timestamp" (Adds timestamp of the edit), "title" (Adds the page title of the edit), "ids" (Adds the page ID, recent changes ID and the new and old revision ID), "sizes" (Adds the new and old page length in bytes), "redirect" (Tags edit if page is a redirect), "patrolled" (Tags patrollable edits as being patrolled or unpatrolled), "loginfo" (Adds log information (log ID, log type, etc) to log entries), "tags" (Lists tags for the entry), "sha1" (Adds the content checksum for entries associated with a revision).

Returns:

  • (self)


91
92
93
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 91

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 rcshow=minor|!anon.

Parameters:

  • values (Array<String>)

    Allowed values: "minor", "!minor", "bot", "!bot", "anon", "!anon", "redirect", "!redirect", "patrolled", "!patrolled", "unpatrolled".

Returns:

  • (self)


117
118
119
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 117

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)


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

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

#tag(value) ⇒ self

Only list changes tagged with this tag.

Parameters:

  • value (String)

Returns:

  • (self)


83
84
85
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 83

def tag(value)
  merge(rctag: value.to_s)
end

#token(*values) ⇒ self

Use action=query&meta=tokens instead.

Parameters:

  • values (Array<String>)

    Allowed values: "patrol".

Returns:

  • (self)


104
105
106
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 104

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

#toponlyself

Only list changes which are the latest revision.

Returns:

  • (self)


150
151
152
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 150

def toponly()
  merge(rctoponly: 'true')
end

#type(*values) ⇒ self

Which types of changes to show.

Parameters:

  • values (Array<String>)

    Allowed values: "edit", "new", "log", "external", "categorize".

Returns:

  • (self)


138
139
140
# File 'lib/mediawiktory/wikipedia/modules/recentchanges.rb', line 138

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)


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

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