]> git.openstreetmap.org Git - rails.git/commitdiff
Factor out common code into partials
authorTom Hughes <tom@compton.nu>
Sat, 7 May 2011 13:44:48 +0000 (14:44 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 7 May 2011 13:54:16 +0000 (14:54 +0100)
app/views/map_bugs/_bug.rss.builder [new file with mode: 0644]
app/views/map_bugs/_bug.xml.builder [new file with mode: 0644]
app/views/map_bugs/get_bugs.rss.builder
app/views/map_bugs/get_bugs.xml.builder
app/views/map_bugs/read.rss.builder
app/views/map_bugs/read.xml.builder

diff --git a/app/views/map_bugs/_bug.rss.builder b/app/views/map_bugs/_bug.rss.builder
new file mode 100644 (file)
index 0000000..59367da
--- /dev/null
@@ -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
diff --git a/app/views/map_bugs/_bug.xml.builder b/app/views/map_bugs/_bug.xml.builder
new file mode 100644 (file)
index 0000000..69683b7
--- /dev/null
@@ -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
index a8ae98dc8d2bb62f2ebbf7546b310ccf2a40dcdd..a1852fab132b01f218f688481181b24d16622759 100644 (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)
 
     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
   end
 end
index a594506cdbcb5169e71517104169e36da390423a..16be0598bc5fb051246cbc905c6294f62c276fc7 100644 (file)
@@ -1,29 +1,3 @@
 xml.instruct!
 
 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)
index 501ed6bf8ef549e7e2f82317c3bb37d8dada18bc..aba1f831d4ad587d875eb2fb34de6c8e4982ebf9 100644 (file)
@@ -5,28 +5,9 @@ xml.rss("version" => "2.0",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
     xml.title "OpenStreetBugs"
         "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.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
   end
 end
index f9d7ddaa1c7847f6ad8e39977d62fa605c4716c9..82fe04c4bdf11f76676307df2cd42ec25ee4097b 100644 (file)
@@ -1,25 +1,3 @@
 xml.instruct!
 
 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)