Sha256: 903ce0a69eef7a85ef137ac4ddc80c33b3ef8015411313af9b9603146d196c17
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
require 'caramelize/input_wiki/wiki' require 'caramelize/database_connector' require 'caramelize/filters/wikka_to_markdown' module Caramelize module InputWiki class WikkaWiki < Wiki include DatabaseConnector def initialize options={} super(options) @options[:markup] = :wikka @options[:filters] << Caramelize::Wikka2Markdown.new end # after calling this action, titles and @revisions are expected to be filled def read_pages sql = "SELECT id, tag, body, time, latest, user, note FROM wikka_pages ORDER BY time;" results = database.query(sql) results.each do |row| titles << row["tag"] page = Page.new(build_properties(row)) revisions << page end titles.uniq! #revisions.sort! { |a,b| a.time <=> b.time } revisions end def read_authors sql = "SELECT name, email FROM wikka_users;" results = database.query(sql) results.each do |row| authors[row["name"]] = OpenStruct.new(name: row["name"], email: row["email"] ) end end private def build_properties(row) author = authors[row["user"]] { id: row["id"], title: row["tag"], body: row["body"], markup: :wikka, latest: row["latest"] == "Y", time: row["time"], message: row["note"], author: author, author_name: row["user"] } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
caramelize-0.4.0 | lib/caramelize/input_wiki/wikkawiki.rb |