Sha256: 67297f89a1e785da39301ccfe465e2e2b06b903b0ec3eb0252205632cc786dc3

Contents?: true

Size: 1.74 KB

Versions: 1

Compression:

Stored size: 1.74 KB

Contents

#Encoding: UTF-8
module Caramelize
  autoload :DatabaseConnector, 'caramelize/database_connector'
  autoload :Wikka2Markdown, 'caramelize/filters/wikka_to_markdown'
  
  class WikkaWiki < Wiki
    include DatabaseConnector
    
    def initialize options={}
      super(options)
      @options[:markup] = :wikka
      @options[:swap_interwiki_links] = false
      @options[:filters] << Caramelize::Wikka2Markdown.new
    end

    # after calling this action, I expect the @titles and @revisions to be filled
    def read_pages
      sql = "SELECT id, tag, body, time, latest, user, note FROM wikka_pages ORDER BY time;"
      @revisions = []
      @titles = []
      results = database.query(sql)
      results.each do |row|
        @titles << row["tag"]
        author = @authors[row["user"]]
        page = Page.new({: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"]})
        @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;"
      @authors = {}
      results = database.query(sql)
      results.each do |row|
        author = Author.new
        #author.id    = row["id"]
        author.name  = row["name"]
        author.email = row["email"]
        @authors[author.name] = author
      end
      @authors
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caramelize-0.2.0 lib/caramelize/wiki/wikkawiki.rb