Ruby-MediaWiki/Documentation
Ruby-MediaWiki Documentation
MediaWiki
Logger is required by article.rb
MediaWiki::dotfile(myrealm=nil,mywiki=nil)
dotfile function reads the user's MediaWiki config and creates a Wiki instance.
The filename is determined by the environment variable MEDIAWIKI_RC or defaults to ~/.mediawikirc .
A configured wiki can be chosen with the MEDIAWIKI_WIKI environment variable, by the option mywiki or defaults to the wiki pointed by default.
A robot may set [myrealm] to retrieve a second result output: a section with this name in the current wiki's configuration file for configuration of specific robot tasks.
MediaWiki::logger()
MediaWiki::Article
Inherited from Object
The Article class represents MediaWiki articles.
MediaWiki::Article#name (RW)
Article name, will be refreshed upon Article#reload
MediaWiki::Article#read_only (RW)
this Article is read_only
MediaWiki::Article#text (RW)
Article text, will be set by Article#reload
MediaWiki::Article::new(wiki, name, section = nil, load_text=true)
Create a new Article instance
- wiki
- [Wiki] instance to be used to theive the MiniBrowser
- name
- [String] Article name
- section
- [Fixnum] Optional article section number
- load_text
- [Boolean] Invoke Article#reload to retrieve Article#text
MediaWiki::Article#delete(reason)
Delete this article
- reason
- [String] Delete reason
MediaWiki::Article#full_name()
Return the full article name
This will only return @name, but may be overriden by descendants to include namespaces.
- result
- [String] Full name
MediaWiki::Article#parse(html)
MediaWiki::Article#protect(reason, moves_only=false)
Protect this article
- reason
- [String] Protect reason
MediaWiki::Article#reload()
Reload Article#text, should be done by Article#initialize.
MediaWiki::Article#submit(summary, minor_edit=false, watch_this=false, retries=10)
Push the Submit button
Send the modified Article#text to the MediaWiki.
- summary
- [String] Change summary
- minor_edit
- [Boolean] This is a Minor Edit
- watch_this
- [Boolean] Watch this article
MediaWiki::Article#to_rexml( html )
MediaWiki::Article#unprotect(reason)
Unprotect this article
- reason
- [String] Unprotect reason
MediaWiki::Article#what_links_here()
What articles link to this article?
- result
- [Array] of [String] Article names
MediaWiki::Article#xhtml()
Get the XHTML, will invoke Article#xhtml_reload if not already cached
- result
- [REXML::Element] html root element
MediaWiki::Article#xhtml_reload()
Reload the xhtml, will be automatically done by Article#xhtml if not already cached.
MediaWiki::Category
Inherited from Article
The Category class represents MediaWiki categories.
MediaWiki::Category#articles()
Which articles belong to this category?
- result
- [Array] of [String] Article names
MediaWiki::Category#full_name()
This returns the full article name prefixed with "Category:" instead of the name, which should not carry a prefix.
MediaWiki::Category#reload()
Calls the reload function of the super-class (Article#reload) but removes the prefix (namespace) then.
Use to full_name to obtain the name with namespace.
MediaWiki::MiniBrowser
Inherited from Object
The MiniBrowser is used to perform GET and POST requests over HTTP and HTTPS, supporting:
- HTTP-Auth encoding in URLs (proto://user:password@host/...)
- Cookie support
- HTTP Redirection (max. 10 in a row)
All interaction with MiniBrowser is normally done by MediaWiki::Wiki.
MediaWiki::MiniBrowser::new(url)
Initialize a MiniBrowser instance
- url
- [URI::HTTP] or [URI::HTTPS]
MediaWiki::MiniBrowser#add_cookie(cookies)
Add cookies to the volatile cookie cache
- cookies
- [Array]
MediaWiki::MiniBrowser#cookies()
Get the cookie cache in a serialized form ready for HTTP.
- result
- [String]
MediaWiki::MiniBrowser#get_content(url)
Perform a GET request
This method accepts 10 HTTP redirects at max.
- url
- [String]
- result
- [String] Document
MediaWiki::MiniBrowser#post_content(url, data)
Perform a POST request
Will switch to MiniBrowser#get_content upon HTTP redirect.
- url
- [String]
- data
- [Hash] POST data
- result
- [String] Document
MediaWiki::SpecialPage
Inherited from Article
The SpecialPage class represents MediaWiki special pages.
MediaWiki::SpecialPage#xhtml_reload()
Reload the xhtml, will be automatically done by SpecialPage#xhtml if not already cached.
MediaWiki::Table
Inherited from Object
The MediaWiki::Table class is used to parse existing tables from mediawiki articles and to create tables from arrays. Currently only the mediawiki pipe syntax is supported.
MediaWiki::Table#data (RW)
MediaWiki::Table#header (RW)
MediaWiki::Table#header_style (RW)
MediaWiki::Table#row_style (RW)
MediaWiki::Table#style (RW)
MediaWiki::Table::new( data = [], header = [] )
Initialize a Table instance
- data
- [Array] 2-dimensional Array with the tables and cells
- header
- [Array] 1-dimensional Array used as header
MediaWiki::Table::parse( text )
Parses the wiki markup of a table and returns a 2-dimensional array representing rows and columns of the table. Currently only the mediawiki pipe syntax is supported.
- text
- [String] String to parse
MediaWiki::Table#text()
Creates the mediawiki markup to be put in an article
MediaWiki::Wiki
Inherited from Object
MediaWiki::Wiki#browser (R)
The MiniBrowser instance used by this Wiki. This must be readable as it's used by Article and Category to fetch themselves.
MediaWiki::Wiki::new(url, user = nil, password = nil, loglevel = Logger::WARN)
Initialize a new Wiki instance.
- url
- [String] URL-Path to index.php (without index.php), may containt user:password combination.
- user
- [String] If not nil, log in with that MediaWiki username (see Wiki#login)
- password
- [String] If not nil, log in with that MediaWiki password (see Wiki#login)
- loglevel
- [Integer] Loglevel, default is to log all messages >= Logger::WARN = 2
MediaWiki::Wiki#allpages(namespace_id=nil)
Returns the pages listed on "Special:Allpages"
TODO: Handle big wikis with chunked Special:Allpages
- namespace_id
- Optional namespace for article index (see Wiki#namespace_ids to retrieve id)
- result
- [Array] of [String] Articlenames
MediaWiki::Wiki#article(name, section = nil)
Return a new Article instance with given name, will be constructed with [self] (for MiniBrowser usage)
- name
- [String] Article name
- section
- [Fixnum] Optional section number
MediaWiki::Wiki#article_url(name, section = nil)
Construct the URL to a specific article
Uses the [url] the Wiki instance was constructed with, appends "index.php", the name parameter and, optionally, the section.
Often called by Article, Category, ...
- name
- [String] Article name
- section
- [Fixnum] Optional section number
MediaWiki::Wiki#category(name)
Return a new Category instance with given name, will be constructed with [self] (for MiniBrowser usage)
- name
- [String] Category name (to be prepended with "Category:")
MediaWiki::Wiki#full_article_url(name, section=nil)
MediaWiki::Wiki#login( username, password )
Log in into MediaWiki
This is not HTTP authentication (put HTTP-Auth into [url] of Wiki#initialize!)
- user
- [String] MediaWiki username
- password
- [String] MediaWiki password
May raise an exception if cannot authenticate
MediaWiki::Wiki#namespace_ids()
Retrieve all namespaces and their IDs, which could be used for Wiki#allpages
- result
- [Hash] String => Fixnum