Factor out common code into partials

This commit is contained in:
Tom Hughes 2011-05-07 14:44:48 +01:00
parent 4b0191befd
commit 560e41ebf9
6 changed files with 54 additions and 93 deletions

View file

@ -0,0 +1,22 @@
xml.item do
if bug.status == "closed"
xml.title t('bugs.rss.closed', :place => bug.nearby_place)
elsif bug.map_bug_comment.length > 1
xml.title t('bugs.rss.comment', :place => bug.nearby_place)
else
xml.title t('bugs.rss.new', :place => bug.nearby_place)
end
xml.link url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
xml.guid url_for(:controller => "map_bugs", :action => "read", :id => bug.id, :only_path => false)
xml.description htmlize(bug.flatten_comment("<br><br>"))
unless bug.map_bug_comment.empty?
xml.author bug.map_bug_comment[-1].commenter_name
end
xml.pubDate bug.last_changed.to_s(:rfc822)
xml.geo :lat, bug.lat
xml.geo :long, bug.lon
xml.georss :point, "#{bug.lat} #{bug.lon}"
end

View file

@ -0,0 +1,27 @@
xml.bug("lon" => bug.lon, "lat" => bug.lat) do
xml.id bug.id
xml.date_created bug.date_created
xml.nearby bug.nearby_place
xml.status bug.status
if bug.status == "closed"
xml.date_closed bug.date_closed
end
xml.comments do
bug.map_bug_comment.each do |comment|
xml.comment do
xml.date comment.date_created
unless comment.commenter_id.nil?
xml.uid comment.commenter_id
xml.user comment.user.display_name
else
xml.user comment.commenter_name
end
xml.text comment.comment
end
end
end
end

View file

@ -8,27 +8,6 @@ xml.rss("version" => "2.0",
xml.description t('bugs.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
for bug in @bugs
xml.item do
if bug.status == "closed"
xml.title t('bugs.rss.closed', :place => bug.nearby_place)
else if bug.map_bug_comment.length > 1
xml.title t('bugs.rss.comment', :place => bug.nearby_place)
else
xml.title t('bugs.rss.new', :place => bug.nearby_place)
end end
xml.link url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
xml.guid url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
xml.description htmlize(bug.flatten_comment("<br><br>"))
if (!bug.map_bug_comment.empty?)
xml.author bug.map_bug_comment[-1].commenter_name
end
xml.pubDate bug.last_changed.to_s(:rfc822)
xml.geo :lat, bug.lat
xml.geo :long, bug.lon
xml.georss :point, "#{bug.lat} #{bug.lon}"
end
end
xml << render(:partial => "bug", :collection => @bugs)
end
end

View file

@ -1,29 +1,3 @@
xml.instruct!
xml.bugs do
for bug in @bugs
xml.bug("lon" => bug.lon, "lat" => bug.lat) do
xml.id bug.id
xml.date_created bug.date_created
xml.nearby bug.nearby_place
xml.status bug.status
if bug.status == "closed"
xml.date_closed bug.date_closed
end
xml.comments do
for comment in bug.map_bug_comment
xml.comment do
xml.date comment.date_created
if !comment.commenter_id.nil?
xml.uid comment.commenter_id
xml.user comment.user.display_name
else
xml.user comment.commenter_name
end
xml.text comment.comment
end
end
end
end
end
end
xml << render(:partial => "bug", :collection => @bugs)

View file

@ -5,28 +5,9 @@ xml.rss("version" => "2.0",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title "OpenStreetBugs"
xml.description t('bugs.rss.description_item',:id => @bug.id)
xml.description t('bugs.rss.description_item', :id => @bug.id)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
xml.item do
if @bug.status == "closed"
xml.title t('bugs.rss.closed', :place => @bug.nearby_place)
else if @bug.map_bug_comment.length > 1
xml.title t('bugs.rss.comment', :place => @bug.nearby_place)
else
xml.title t('bugs.rss.new', :place => @bug.nearby_place)
end end
xml.link url_for(:controller => "browse", :action => "bug", :id => @bug.id, :only_path => false)
xml.guid url_for(:controller => "map_bugs", :action => "read", :id => @bug.id, :only_path => false)
xml.description htmlize(@bug.flatten_comment("<br><br>"))
if (!@bug.map_bug_comment.empty?)
xml.author @bug.map_bug_comment[-1].commenter_name
end
xml.pubDate @bug.last_changed.to_s(:rfc822)
xml.geo :lat, @bug.lat
xml.geo :long, @bug.lon
xml.georss :point, "#{@bug.lat} #{@bug.lon}"
end
xml << render(:partial => "bug", :object => @bug)
end
end

View file

@ -1,25 +1,3 @@
xml.instruct!
xml.bug("lon" => @bug.lon, "lat" => @bug.lat) do
xml.id @bug.id
xml.date_created @bug.date_created
xml.nearby @bug.nearby_place
xml.status @bug.status
if @bug.status == "closed"
xml.date_closed @bug.date_closed
end
xml.comments do
for comment in @bug.map_bug_comment
xml.comment do
xml.date comment.date_created
if !comment.commenter_id.nil?
xml.uid comment.commenter_id
xml.user comment.user.display_name
else
xml.user comment.commenter_name
end
xml.text comment.comment
end
end
end
end
xml << render(:partial => "bug", :object => @bug)