module MediaWiki::Utils

Constants

NO_UNICODE_SUPPORT

Public Instance Methods

get_base_name(title) click to toggle source

Extract base name. If there are no subpages, return page name.

Examples: #get_base_name(“Namespace:Foo/Bar/Baz”) -> “Namespace:Foo” #get_base_name(“Namespace:Foo”) -> “Namespace:Foo”

title

Page name string in Wiki format

# File lib/media_wiki/utils.rb, line 12
def get_base_name(title)
  title.split('/').first if title
end
get_path_to_subpage(title) click to toggle source

Extract path leading up to subpage. If title does not contain a subpage, returns nil.

Examples: #get_path_to_subpage(“Namespace:Foo/Bar/Baz”) -> “Namespace:Foo/Bar” #get_path_to_subpage(“Namespace:Foo”) -> nil

title

Page name string in Wiki format

# File lib/media_wiki/utils.rb, line 23
def get_path_to_subpage(title)
  title.split(/\/([^\/]*)$/).first if title && title.include?('/')
end
get_subpage(title) click to toggle source

Extract subpage name. If there is no hierarchy above, return page name.

Examples: #get_subpage(“Namespace:Foo/Bar/Baz”) -> “Baz” #get_subpage(“Namespace:Foo”) -> “Namespace:Foo”

title

Page name string in Wiki format

# File lib/media_wiki/utils.rb, line 34
def get_subpage(title)
  title.split('/').last if title
end
uri_to_wiki(uri) click to toggle source

Convert URL-ized page name (“getting_there_%26_away”) into Wiki display format page name (“Getting there & away”). Also capitalizes first letter, replaces underscores with spaces and strips out any illegal characters (#<>[]|{}, cf. meta.wikimedia.org/wiki/Help:Page_name#Restrictions).

wiki

Page name string in URL

# File lib/media_wiki/utils.rb, line 42
def uri_to_wiki(uri)
  upcase_first_char(CGI.unescape(uri).tr('_', ' ').tr('#<>[]|{}', '')) if uri
end
version() click to toggle source

Return current version of MediaWiki::Gateway

# File lib/media_wiki/utils.rb, line 56
def version
  MediaWiki::VERSION
end
wiki_to_uri(wiki) click to toggle source

Convert a Wiki page name (“Getting there & away”) to URI-safe format (“Getting_there_%26_away”), taking care not to mangle slashes or colons

wiki

Page name string in Wiki format

# File lib/media_wiki/utils.rb, line 49
def wiki_to_uri(wiki)
  wiki.to_s.split('/').map { |chunk|
    CGI.escape(CGI.unescape(chunk).tr(' ', '_'))
  }.join('/').gsub('%3A', ':') if wiki
end