Module: MediaWiki::Utils
- Included in:
- MediaWiki
- Defined in:
- lib/media_wiki/utils.rb
Instance Method Summary collapse
-
#get_base_name(title) ⇒ Object
Extract base name.
-
#get_path_to_subpage(title) ⇒ Object
Extract path leading up to subpage.
-
#get_subpage(title) ⇒ Object
Extract subpage name.
-
#uri_to_wiki(uri) ⇒ Object
Convert URL-ized page name (“getting_there_%26_away”) into Wiki display format page name (“Getting there & away”).
-
#version ⇒ Object
Return current version of MediaWiki::Gateway.
-
#wiki_to_uri(wiki) ⇒ Object
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.
Instance Method Details
#get_base_name(title) ⇒ Object
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
12 13 14 |
# File 'lib/media_wiki/utils.rb', line 12 def get_base_name(title) title.split('/').first if title end |
#get_path_to_subpage(title) ⇒ Object
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
23 24 25 |
# 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) ⇒ Object
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
34 35 36 |
# File 'lib/media_wiki/utils.rb', line 34 def get_subpage(title) title.split('/').last if title end |
#uri_to_wiki(uri) ⇒ Object
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
42 43 44 |
# 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 ⇒ Object
Return current version of MediaWiki::Gateway
56 57 58 |
# File 'lib/media_wiki/utils.rb', line 56 def version MediaWiki::VERSION end |
#wiki_to_uri(wiki) ⇒ Object
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
49 50 51 52 53 |
# 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 |