module MediaWiktory::Wikipedia::Modules::Json

Output data in JSON format.

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

_formatversion(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/json.rb, line 52
def _formatversion(value)
  defined?(super) && super || ["1", "2", "latest"].include?(value.to_s) && merge(formatversion: value.to_s)
end
ascii() click to toggle source

If specified, encodes all non-ASCII using hexadecimal escape sequences. Default when formatversion is 1.

@return [self]

# File lib/mediawiktory/wikipedia/modules/json.rb, line 39
def ascii()
  merge(ascii: 'true')
end
callback(value) click to toggle source

If specified, wraps the output into a given function call. For safety, all user-specific data will be restricted.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/json.rb, line 25
def callback(value)
  merge(callback: value.to_s)
end
formatversion(value) click to toggle source

Output formatting:

@param value [String] One of “1” (Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.)), “2” (Experimental modern format. Details may change!), “latest” (Use the latest format (currently 2), may change without warning). @return [self]

# File lib/mediawiktory/wikipedia/modules/json.rb, line 47
def formatversion(value)
  _formatversion(value) or fail ArgumentError, "Unknown value for formatversion: #{value}"
end
utf8() click to toggle source

If specified, encodes most (but not all) non-ASCII characters as UTF-8 instead of replacing them with hexadecimal escape sequences. Default when formatversion is not 1.

@return [self]

# File lib/mediawiktory/wikipedia/modules/json.rb, line 32
def utf8()
  merge(utf8: 'true')
end