You are here: Home > Latest news from Darcs > Refactors feed template to use helper method for revision item

Revision 20080417215304-9043f-9dcffe...

Refactors feed template to use helper method for revision item

app/helpers/wiki_helper.rb
app/views/wiki/page_feed.rxml

Changes to wiki_helper.rb

40
40
41
  def render_wiki_sourcediff(old_revision, new_revision)
  def render_wiki_sourcediff(old_revision, new_revision)
41
42
    render_diff_table(old_revision.diff(new_revision))
    render_diff_table(old_revision.diff(new_revision))
42
43
  end  
  end
43
 
44
 
  def rss_item_for_revision(rev)
45
 
    Builder::XmlMarkup.new.item do |xml|
46
 
      xml.title h(rev.title)
47
 
      if rev.position > 1
48
 
        xml.description @renderer.render_wiki_diff(
49
 
          @page.revisions[rev.position - 2].text, rev.text)
50
 
      else
51
 
        xml.description @renderer.render_wiki_text(rev.text)
52
 
      end
53
 
      xml.pubDate h(rev.modified_at.to_s(:rfc822))
54
 
      xml.dc :creator, h(rev.last_editor.login)
55
 
      xml.guid server_url_for(:action => 'show', :page_name => @page.name,
56
 
                              :revision => rev.position)
57
 
    end
58
 
  end
59
44
60
45
end
end
61

Changes to page_feed.rxml

11
      xml.pubDate @page.modified_at.to_s(:rfc822)
      xml.pubDate @page.modified_at.to_s(:rfc822)
11
12
      xml.ttl '60'
      xml.ttl '60'
12
13
      @page.revisions.reverse[0..10].each do |rev|
      @page.revisions.reverse[0..10].each do |rev|
13
14
        xml.item do
        xml << rss_item_for_revision(rev)
14
15
          xml.title h(rev.title)
 
16
          if rev.position > 1
 
17
            xml.description @renderer.render_wiki_diff(
 
18
              @page.revisions[rev.position - 2].text, rev.text)
 
19
          else
 
20
            xml.description @renderer.render_wiki_text(rev.text)
 
21
          end
 
22
          xml.pubDate h(rev.modified_at.to_s(:rfc822))
 
23
          xml.dc :creator, h(rev.last_editor.login)
 
24
          xml.guid server_url_for(:action => 'show', :page_name => @page.name,
 
25
                                  :revision => rev.position) 
 
26
        end
 
27
    	end
    	end
15
28
    end
    end
16
29
end
end
17