Class: Infoboxer::MediaWiki::Page
- Inherits:
-
Tree::Document
- Object
- Tree::Node
- Tree::Compound
- Tree::Document
- Infoboxer::MediaWiki::Page
- Defined in:
- lib/infoboxer/media_wiki/page.rb
Overview
A descendant of Document, representing page, received from Infoboxer::MediaWiki client.
Alongside with document tree structure, knows document's title as represented by MediaWiki and human (non-API) URL.
Instance Attribute Summary collapse
-
#client ⇒ MediaWiki
readonly
Instance of Infoboxer::MediaWiki which this page was received from.
-
#source ⇒ MediaWiktory::Page
readonly
Instance of MediaWiktory::Page class with source data.
-
#title ⇒ String
readonly
Page title.
-
#url ⇒ String
readonly
Page friendly URL.
Attributes inherited from Tree::Compound
Attributes inherited from Tree::Node
Instance Method Summary collapse
- #category? ⇒ Boolean
-
#initialize(client, children, source) ⇒ Page
constructor
A new instance of Page.
-
#namespace ⇒ Object
FIXME: take from siteinfo!.
- #traits ⇒ Object
Methods included from Navigation::Sections::Container
#intro, #lookup_children, #sections, #subsections
Methods inherited from Tree::Compound
Methods inherited from Tree::Node
#==, #children, coder, def_readers, #first?, #index, #inspect, #next_siblings, #prev_siblings, #siblings, #text, #text_, #to_s, #to_tree
Methods included from Navigation::Wikipath
Methods included from Navigation::Sections::Node
Methods included from Navigation::Shortcuts::Node
#bold?, #categories, #external_links, #heading?, #headings, #images, #infobox, #infoboxes, #italic?, #lists, #paragraphs, #tables, #templates, #wikilinks
Methods included from Navigation::Lookup::Node
#_lookup, #_lookup_children, #_lookup_next_siblings, #_lookup_parents, #_lookup_prev_sibling, #_lookup_prev_siblings, #_lookup_siblings, #_matches?, #lookup, #lookup_children, #lookup_next_siblings, #lookup_parents, #lookup_prev_sibling, #lookup_prev_siblings, #lookup_siblings, #matches?, #parent?
Constructor Details
#initialize(client, children, source) ⇒ Page
Returns a new instance of Page.
11 12 13 14 |
# File 'lib/infoboxer/media_wiki/page.rb', line 11 def initialize(client, children, source) @client, @source = client, source super(children, title: source['title'], url: source['fullurl']) end |
Instance Attribute Details
#client ⇒ MediaWiki (readonly)
Instance of Infoboxer::MediaWiki which this page was received from
18 19 20 |
# File 'lib/infoboxer/media_wiki/page.rb', line 18 def client @client end |
#source ⇒ MediaWiktory::Page (readonly)
Instance of MediaWiktory::Page class with source data
22 23 24 |
# File 'lib/infoboxer/media_wiki/page.rb', line 22 def source @source end |
#title ⇒ String (readonly)
Page title.
|
# File 'lib/infoboxer/media_wiki/page.rb', line 24
|
#url ⇒ String (readonly)
Page friendly URL.
32 |
# File 'lib/infoboxer/media_wiki/page.rb', line 32 def_readers :title, :url |
Instance Method Details
#category? ⇒ Boolean
43 44 45 |
# File 'lib/infoboxer/media_wiki/page.rb', line 43 def category? namespace == 'Category' end |
#namespace ⇒ Object
FIXME: take from siteinfo!
39 40 41 |
# File 'lib/infoboxer/media_wiki/page.rb', line 39 def namespace Traits::STANDARD_NAMESPACES[source.fetch('ns') + 2] # Media = -2, Specia = -1, Main = 0 end |
#traits ⇒ Object
34 35 36 |
# File 'lib/infoboxer/media_wiki/page.rb', line 34 def traits client.traits end |