module MediaWiktory::Wikipedia::Modules::Blocks

List all blocked users and IP addresses.

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

@private

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 59
def _ids(value)
  merge(bkids: value.to_s, replace: false)
end
_prop(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 101
def _prop(value)
  defined?(super) && super || ["id", "user", "userid", "by", "byid", "timestamp", "expiry", "reason", "range", "flags"].include?(value.to_s) && merge(bkprop: value.to_s, replace: false)
end
_show(value) click to toggle source

@private

Calls superclass method
# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 114
def _show(value)
  defined?(super) && super || ["account", "!account", "temp", "!temp", "ip", "!ip", "range", "!range"].include?(value.to_s) && merge(bkshow: value.to_s, replace: false)
end
_users(value) click to toggle source

@private

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 72
def _users(value)
  merge(bkusers: 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/blocks.rb, line 122
def continue(value)
  merge(bkcontinue: 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: bkstart has to be before bkend), “older” (List newest first (default). Note: bkstart has to be later than bkend). @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.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 stop enumerating at.

@param value [Time] @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 33
def end(value)
  merge(bkend: value.iso8601)
end
ids(*values) click to toggle source

List of block IDs to list (optional).

@param values [Array<Integer>] @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 54
def ids(*values)
  values.inject(self) { |res, val| res._ids(val) }
end
ip(value) click to toggle source

Get all blocks applying to this IP address or CIDR range, including range blocks. Cannot be used together with bkusers. CIDR ranges broader than IPv4/16 or IPv6/19 are not accepted.

@param value [String] @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 80
def ip(value)
  merge(bkip: value.to_s)
end
limit(value) click to toggle source

The maximum number of blocks to list.

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

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 88
def limit(value)
  merge(bklimit: value.to_s)
end
prop(*values) click to toggle source

Which properties to get:

@param values [Array<String>] Allowed values: “id” (Adds the ID of the block), “user” (Adds the username of the blocked user), “userid” (Adds the user ID of the blocked user), “by” (Adds the username of the blocking user), “byid” (Adds the user ID of the blocking user), “timestamp” (Adds the timestamp of when the block was given), “expiry” (Adds the timestamp of when the block expires), “reason” (Adds the reason given for the block), “range” (Adds the range of IP addresses affected by the block), “flags” (Tags the ban with (autoblock, anononly, etc.)). @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 96
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 indefinite blocks on IP addresses, set bkshow=ip|!temp.

@param values [Array<String>] Allowed values: “account”, “!account”, “temp”, “!temp”, “ip”, “!ip”, “range”, “!range”. @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 109
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/blocks.rb, line 25
def start(value)
  merge(bkstart: value.iso8601)
end
users(*values) click to toggle source

List of users to search for (optional).

@param values [Array<String>] @return [self]

# File lib/mediawiktory/wikipedia/modules/blocks.rb, line 67
def users(*values)
  values.inject(self) { |res, val| res._users(val) }
end