Module: MediaWiktory::Wikipedia::Modules::Revisions

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

Overview

Get revision information.

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

#contentformat(value) ⇒ self

Serialization format used for rvdifftotext and expected for output of content.

Parameters:

  • value (String)

    One of "application/json", "text/x-wiki", "text/javascript", "text/css", "text/plain".

Returns:

  • (self)


98
99
100
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 98

def contentformat(value)
  _contentformat(value) or fail ArgumentError, "Unknown value for contentformat: #{value}"
end

#continue(value) ⇒ self

When more results are available, use this to continue.

Parameters:

  • value (String)

Returns:

  • (self)


193
194
195
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 193

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

#diffto(value) ⇒ self

Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

Parameters:

  • value (String)

Returns:

  • (self)


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

def diffto(value)
  merge(rvdiffto: value.to_s)
end

#difftotext(value) ⇒ self

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.

Parameters:

  • value (String)

Returns:

  • (self)


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

def difftotext(value)
  merge(rvdifftotext: value.to_s)
end

#difftotextpstself

Perform a pre-save transform on the text before diffing it. Only valid when used with rvdifftotext.

Returns:

  • (self)


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

def difftotextpst()
  merge(rvdifftotextpst: 'true')
end

#dir(value) ⇒ self

In which direction to enumerate:

Parameters:

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

Returns:

  • (self)


143
144
145
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 143

def dir(value)
  _dir(value) or fail ArgumentError, "Unknown value for dir: #{value}"
end

#end(value) ⇒ self

Enumerate up to this timestamp.

Parameters:

  • value (Time)

Returns:

  • (self)


135
136
137
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 135

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

#endid(value) ⇒ self

Stop revision enumeration on this revision ID.

Parameters:

  • value (Integer)

Returns:

  • (self)


119
120
121
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 119

def endid(value)
  merge(rvendid: value.to_s)
end

#excludeuser(value) ⇒ self

Exclude revisions made by user.

Parameters:

  • value (String)

Returns:

  • (self)


164
165
166
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 164

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

#expandtemplatesself

Expand templates in revision content (requires rvprop=content).

Returns:

  • (self)


45
46
47
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 45

def expandtemplates()
  merge(rvexpandtemplates: 'true')
end

#generatexmlself

Generate XML parse tree for revision content (requires rvprop=content; replaced by rvprop=parsetree).

Returns:

  • (self)


52
53
54
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 52

def generatexml()
  merge(rvgeneratexml: 'true')
end

#limit(value) ⇒ self

Limit how many revisions will be returned.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


38
39
40
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 38

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

#parseself

Parse revision content (requires rvprop=content). For performance reasons, if this option is used, rvlimit is enforced to 1.

Returns:

  • (self)


59
60
61
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 59

def parse()
  merge(rvparse: 'true')
end

#prop(*values) ⇒ self

Which properties to get for each revision:

Parameters:

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

Returns:

  • (self)


25
26
27
# 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

#section(value) ⇒ self

Only retrieve the content of this section number.

Parameters:

  • value (String)

Returns:

  • (self)


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

def section(value)
  merge(rvsection: value.to_s)
end

#start(value) ⇒ self

From which revision timestamp to start enumeration.

Parameters:

  • value (Time)

Returns:

  • (self)


127
128
129
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 127

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

#startid(value) ⇒ self

From which revision ID to start enumeration.

Parameters:

  • value (Integer)

Returns:

  • (self)


111
112
113
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 111

def startid(value)
  merge(rvstartid: value.to_s)
end

#tag(value) ⇒ self

Only list revisions tagged with this tag.

Parameters:

  • value (String)

Returns:

  • (self)


172
173
174
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 172

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

#token(*values) ⇒ self

Which tokens to obtain for each revision.

Parameters:

  • values (Array<String>)

    Allowed values: "rollback".

Returns:

  • (self)


180
181
182
# 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

#user(value) ⇒ self

Only include revisions made by user.

Parameters:

  • value (String)

Returns:

  • (self)


156
157
158
# File 'lib/mediawiktory/wikipedia/modules/revisions.rb', line 156

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