lib/caramelize/wiki/wiki.rb in caramelize-0.2.0 vs lib/caramelize/wiki/wiki.rb in caramelize-0.3.0

- old
+ new

@@ -1,42 +1,55 @@ -#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 + + def revisions_by_title(title) + # new array only containing pages by this name sorted by time asc + # TODO this is probably bad for renamed pages if supported + return revisions.select { |revision| revision.title == title }.sort { |x,y| x.time <=> y.time } + [] end - + # return an empty array in case this action was not overridden def read_authors return [] end - - def convert_markup? to_markup + def namespaces + @namespaces ||= {} + end + + def authors + @authors ||= {} + end + + def revisions + @revisions ||= [] + end + + def titles + @titles ||= [] + end + + def convert_markup?(to_markup) markup != to_markup end def filters @options[:filters] end - + def latest_revisions @latest_revisions = [] - for title in @titles + titles.each do |title| # pick first revision by descending date @latest_revisions << revisions_by_title(title).last end @latest_revisions end \ No newline at end of file