class Qwik::Pages
Constants
- FIRST_PAGE_ID
Attributes
backupdb[R]
db[R]
index[R]
Public Class Methods
new(config, dir)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 18 def initialize(config, dir) @config = nil # FIXME: This is not used. dir = dir.path spath = config.super_dir.path if config.db == 'fsdb' @db = FileSystemDB.new(dir, spath) elsif config.db == 'bdb' # Notice: This setting is experimental. require 'qwik/db-berkeley' @db = BerkeleyDB.new(dir, spath) else raise 'Unknown database type.' end @backupdb = BackupDB.new(dir) @db.register_observer(@backupdb) # Register Senna indexer # Notice: This setting is experimental. if config[:use_senna] == 'true' @index = DBIndexer.new(dir) @db.register_observer(@index) end end
Public Instance Methods
[](k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 74 def [](k) return get(k) end
baseexist?(k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 60 def baseexist?(k) return @db.baseexist?(k) end
close()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 46 def close @db.close end
create(k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 50 def create(k) # Create a new page. raise PageExistError if baseexist?(k) page = Page.new(@config, self, k) return page end
create_new()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 56 def create_new return create(get_new_id) end
date_list()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 134 def date_list return to_a.sort_by {|page| page.mtime } end
date_list_keys()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 140 def date_list_keys ar = [] list.each {|key| page = get(key) time = page.mtime.to_i ar << [time, key] } return ar.sort end
delete(k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 78 def delete(k) page = get(k) page.delete end
each(all = false, with_super = false) { |page| ... }
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 100 def each(all = false, with_super = false) list(all, with_super).each {|key| page = self[key] next if page.nil? # What? yield(page) } end
each_all(&b)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 108 def each_all(&b) each(true, &b) end
erase_all()
click to toggle source
# File vendor/qwik/lib/qwik/test-module-path.rb, line 16 def erase_all @db.erase_all @pages = {} end
exist?(k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 64 def exist?(k) return @db.exist?(k) end
find_title(title)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 150 def find_title(title) self.each(true, true) {|page| if page.get_title == title return page end } return nil end
get(k)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 68 def get(k) return nil if ! exist?(k) page = Page.new(@config, self, k) return page end
get_by_title(title)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 174 def get_by_title(title) page = self[title] rescue nil return page if page page = self.find_title(title) return page if page return nil end
get_new_id()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 159 def get_new_id numkeys = keys.map {|k| /\A\d+\z/ =~ k ? k.to_i : 0 } return (numkeys.max + 1).to_s if numkeys.max return FIRST_PAGE_ID end
keys()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 112 def keys ks = [] self.each {|page| ks << page.key } return ks end
last_article_time()
click to toggle source
QuickML
support
# File vendor/qwik/lib/qwik/pages.rb, line 170 def last_article_time return @db.last_article_time end
last_page_time()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 165 def last_page_time return @db.last_page_time end
list(all = false, with_super = false)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 91 def list(all = false, with_super = false) ar = [] @db.list(with_super).each {|key| next if ! all && /\A_/ =~ key ar << key } ar end
title_list()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 118 def title_list return to_a.sort_by {|page| page.get_title.downcase } end
title_list_keys()
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 124 def title_list_keys ar = [] list.each {|key| page = get(key) title = page.get_title.downcase ar << [title, key] } return ar.sort end
to_a(all=nil)
click to toggle source
# File vendor/qwik/lib/qwik/pages.rb, line 83 def to_a(all=nil) ar = [] each(all) {|page| ar << page } return ar end