class MediaWiki::FakeWiki::ApiPages
Public Class Methods
new()
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 485 def initialize @page_id = 0 @pages = {} @namespaces = { "" => 0 } end
Public Instance Methods
add(title, content, redirect=false)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 503 def add(title, content, redirect=false) @page_id += 1 dummy, prefix = title.split(":", 2).reverse @pages[title] = { :pageid => @page_id, :namespace => namespaces_by_prefix[prefix || ""], :title => title, :content => content, :redirect => redirect } end
add_namespace(id, prefix)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 491 def add_namespace(id, prefix) @namespaces[prefix] = id end
delete(title)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 532 def delete(title) @pages.delete(title) end
get(title)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 515 def get(title) @pages[title] end
list(prefix)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 519 def list(prefix) @pages.select do |key, page| key =~ /^#{prefix}/ end end
namespaces_by_id()
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 499 def namespaces_by_id @namespaces.invert end
namespaces_by_prefix()
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 495 def namespaces_by_prefix @namespaces end
search(searchkey, namespaces)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 525 def search(searchkey, namespaces) raise ApiError.new("srparam-search", "empty search string is not allowed") if searchkey.empty? @pages.select do |key, page| page[:content] =~ /#{searchkey}/ and namespaces.include? page[:namespace].to_s end end
undelete(title)
click to toggle source
# File lib/media_wiki/fake_wiki.rb, line 536 def undelete(title) if @pages[title] 0 else add(title, "Undeleted content") 1 end end