module MediaWiktory::Wikipedia::Modules::Revisions
Get revision information.
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
@private
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 103 def _contentformat(value) defined?(super) && super || ["application/json", "text/x-wiki", "text/javascript", "text/css", "text/plain"].include?(value.to_s) && merge(rvcontentformat: value.to_s) end
@private
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 148 def _dir(value) defined?(super) && super || ["newer", "older"].include?(value.to_s) && merge(rvdir: value.to_s) end
@private
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 30 def _prop(value) defined?(super) && super || ["ids", "flags", "timestamp", "user", "userid", "size", "sha1", "contentmodel", "comment", "parsedcomment", "content", "tags", "parsetree", "flagged"].include?(value.to_s) && merge(rvprop: value.to_s, replace: false) end
@private
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 185 def _token(value) defined?(super) && super || ["rollback"].include?(value.to_s) && merge(rvtoken: value.to_s, replace: false) end
Serialization format used for rvdifftotext and expected for output of content.
@param value [String] One of “application/json”, “text/x-wiki”, “text/javascript”, “text/css”, “text/plain”. @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 98 def contentformat(value) _contentformat(value) or fail ArgumentError, "Unknown value for contentformat: #{value}" end
When more results are available, use this to continue.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 193 def continue(value) merge(rvcontinue: value.to_s) end
Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 75 def diffto(value) merge(rvdiffto: value.to_s) end
Text to diff each revision to. Only diffs a limited number of revisions. Overrides rvdiffto. If rvsection is set, only that section will be diffed against this text.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 83 def difftotext(value) merge(rvdifftotext: value.to_s) end
Perform a pre-save transform on the text before diffing it. Only valid when used with rvdifftotext.
@return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 90 def difftotextpst() merge(rvdifftotextpst: 'true') end
In which direction to enumerate:
@param value [String] One of “newer” (List oldest first. Note: rvstart has to be before rvend), “older” (List newest first (default). Note: rvstart has to be later than rvend). @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 143 def dir(value) _dir(value) or fail ArgumentError, "Unknown value for dir: #{value}" end
Enumerate up to this timestamp.
@param value [Time] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 135 def end(value) merge(rvend: value.iso8601) end
Stop revision enumeration on this revision ID.
@param value [Integer] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 119 def endid(value) merge(rvendid: value.to_s) end
Exclude revisions made by user.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 164 def excludeuser(value) merge(rvexcludeuser: value.to_s) end
Expand templates in revision content (requires rvprop=content).
@return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 45 def expandtemplates() merge(rvexpandtemplates: 'true') end
Generate XML parse tree for revision content (requires rvprop=content; replaced by rvprop=parsetree).
@return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 52 def generatexml() merge(rvgeneratexml: 'true') end
Limit how many revisions will be returned.
@param value [Integer, “max”] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 38 def limit(value) merge(rvlimit: value.to_s) end
Parse revision content (requires rvprop=content). For performance reasons, if this option is used, rvlimit is enforced to 1.
@return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 59 def parse() merge(rvparse: 'true') end
Which properties to get for each revision:
@param values [Array<String>] Allowed values: “ids” (The ID of the revision), “flags” (Revision flags (minor)), “timestamp” (The timestamp of the revision), “user” (User that made the revision), “userid” (User ID of the revision creator), “size” (Length (bytes) of the revision), “sha1” (SHA-1 (base 16) of the revision), “contentmodel” (Content model ID of the revision), “comment” (Comment by the user for the revision), “parsedcomment” (Parsed comment by the user for the revision), “content” (Text of the revision), “tags” (Tags
for the revision), “parsetree” (The XML parse tree of revision content (requires content model wikitext)), “flagged” (Flagged
status of the revision). @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 25 def prop(*values) values.inject(self) { |res, val| res._prop(val) or fail ArgumentError, "Unknown value for prop: #{val}" } end
Only retrieve the content of this section number.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 67 def section(value) merge(rvsection: value.to_s) end
From which revision timestamp to start enumeration.
@param value [Time] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 127 def start(value) merge(rvstart: value.iso8601) end
From which revision ID to start enumeration.
@param value [Integer] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 111 def startid(value) merge(rvstartid: value.to_s) end
Only list revisions tagged with this tag.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 172 def tag(value) merge(rvtag: value.to_s) end
Which tokens to obtain for each revision.
@param values [Array<String>] Allowed values: “rollback”. @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 180 def token(*values) values.inject(self) { |res, val| res._token(val) or fail ArgumentError, "Unknown value for token: #{val}" } end
Only include revisions made by user.
@param value [String] @return [self]
# File lib/mediawiktory/wikipedia/modules/revisions.rb, line 156 def user(value) merge(rvuser: value.to_s) end