class Qwik::InterWiki

Public Class Methods

new(config, site) click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 64
def initialize(config, site)
  @site = site
  @db = nil
end

Public Instance Methods

href(wiki, pagename) click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 69
def href(wiki, pagename)
  iw = db[wiki]
  return nil if iw.nil?
  url, encoding = iw

  pagename.set_page_charset

  case encoding
  when 'sjis' then pagename = pagename.to_sjis.escape
  when 'euc'  then pagename = pagename.to_euc.escape
  when 'utf8' then pagename = pagename.to_utf8.escape
  end
  return url.sub(/\$1/, pagename) if url.index("$1")
  url+pagename
end

Private Instance Methods

db() click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 87
def db
  return @db if @db
  page = get_page
  @db = page.wikidb
  @db
end
get_page() click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 94
def get_page
  k = 'InterWikiName'
  return @site[k] if @site.exist?(k)
  k = "_#{k}"
  return @site[k] if @site.exist?(k)
  return @site.create(k)
end