Sha256: 4e8d0a768d7a43193cf83e192374444672929e6402ef574dbc3e427fde12aab4

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

#Encoding: UTF-8
module Caramelize
  autoload :DatabaseConnector, 'caramelize/database_connector'
  class Wiki
    include DatabaseConnector
    attr_accessor :revisions, :wiki_title, :titles, :description, :namespaces, :options
    
    def initialize options={}
      @options = options
      @options[:filters] = []
      @namespaces = []
    end
    
    def revisions_by_title title
      if @titles.index title
        # new array only containing pages by this name sorted by time
        # TODO this is probably bad for renamed pages if supported
        return @revisions.reject { |revision| revision.title != title }.sort { |x,y| x.time <=> y.time }
      end
    end
    
    # return an empty array in case this action was not overridden
    def read_authors
      return []
    end

    
    def convert_markup? to_markup
      markup != to_markup
    end

    def filters
      @options[:filters]
    end
    
    def latest_revisions
      @latest_revisions = []
      for title in @titles
        # pick first revision by descending date
        @latest_revisions << revisions_by_title(title).last
      end
      @latest_revisions
    end

    def markup
      @options[:markup]
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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