module MediaWiktory::Wikipedia::Modules::Recentchanges

Enumerate recent changes.

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

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 59
def _namespace(value)
  defined?(super) && super || ["-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"].include?(value.to_s) && merge(rcnamespace: value.to_s, replace: false)
end
_prop(value) click to toggle source

@private

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

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 122
def _show(value)
  defined?(super) && super || ["minor", "!minor", "bot", "!bot", "anon", "!anon", "redirect", "!redirect", "patrolled", "!patrolled", "unpatrolled"].include?(value.to_s) && merge(rcshow: value.to_s, replace: false)
end
_token(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 109
def _token(value)
  defined?(super) && super || ["patrol"].include?(value.to_s) && merge(rctoken: value.to_s, replace: false)
end
_type(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 143
def _type(value)
  defined?(super) && super || ["edit", "new", "log", "external", "categorize"].include?(value.to_s) && merge(rctype: value.to_s, replace: false)
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/recentchanges.rb, line 158
def continue(value)
  merge(rccontinue: 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: rcstart has to be before rcend), “older” (List newest first (default). Note: rcstart has to be later than rcend). @return [self]

# 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) click to toggle source

The timestamp to end enumerating.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 33
def end(value)
  merge(rcend: 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/recentchanges.rb, line 75
def excludeuser(value)
  merge(rcexcludeuser: value.to_s)
end
generaterevisions() click to toggle source

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.

@return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 165
def generaterevisions()
  merge(rcgeneraterevisions: 'true')
end
limit(value) click to toggle source

How many total changes to return.

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

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

Filter changes to only these namespaces.

@param 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”. @return [self]

# 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) click to toggle source

Include additional pieces of information:

@param 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). @return [self]

# 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) click to toggle source

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

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

# 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) click to toggle source

The timestamp to start enumerating from.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 25
def start(value)
  merge(rcstart: value.iso8601)
end
tag(value) click to toggle source

Only list changes tagged with this tag.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 83
def tag(value)
  merge(rctag: value.to_s)
end
token(*values) click to toggle source

Use action=query&meta=tokens instead.

@param values [Array<String>] Allowed values: “patrol”. @return [self]

# 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
toponly() click to toggle source

Only list changes which are the latest revision.

@return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 150
def toponly()
  merge(rctoponly: 'true')
end
type(*values) click to toggle source

Which types of changes to show.

@param values [Array<String>] Allowed values: “edit”, “new”, “log”, “external”, “categorize”. @return [self]

# 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) click to toggle source

Only list changes by this user.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/recentchanges.rb, line 67
def user(value)
  merge(rcuser: value.to_s)
end