Module: MediaWiktory::Wikipedia::Modules::Prefixsearch

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

Overview

Perform a prefix search for page titles.

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

#limit(value) ⇒ self

Maximum number of results to return.

Parameters:

  • value (Integer, "max")

Returns:

  • (self)


46
47
48
# File 'lib/mediawiktory/wikipedia/modules/prefixsearch.rb', line 46

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

#namespace(*values) ⇒ self

Namespaces to search.

Parameters:

  • values (Array<String>)

    Allowed values: "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".

Returns:

  • (self)


33
34
35
# File 'lib/mediawiktory/wikipedia/modules/prefixsearch.rb', line 33

def namespace(*values)
  values.inject(self) { |res, val| res._namespace(val) or fail ArgumentError, "Unknown value for namespace: #{val}" }
end

#offset(value) ⇒ self

When more results are available, use this to continue.

Parameters:

  • value (Integer)

Returns:

  • (self)


54
55
56
# File 'lib/mediawiktory/wikipedia/modules/prefixsearch.rb', line 54

def offset(value)
  merge(psoffset: value.to_s)
end

#profile(value) ⇒ self

Search profile to use.

Parameters:

  • value (String)

    One of "strict" (Strict profile with few punctuation characters removed but diacritics and stress marks are kept), "normal" (Few punctuation characters, some diacritics and stopwords removed), "fuzzy" (Similar to normal with typo correction (two typos supported)), "fast-fuzzy" (Experimental fuzzy profile (may be removed at any time)), "classic" (Classic prefix, few punctuation characters and some diacritics removed).

Returns:

  • (self)


62
63
64
# File 'lib/mediawiktory/wikipedia/modules/prefixsearch.rb', line 62

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

#search(value) ⇒ self

Search string.

Parameters:

  • value (String)

Returns:

  • (self)


25
26
27
# File 'lib/mediawiktory/wikipedia/modules/prefixsearch.rb', line 25

def search(value)
  merge(pssearch: value.to_s)
end