openstreetmap-website/app/views/notes/feed.rss.builder
Tom Hughes fa95768ae3 Use dc:creator instead of author for the author's name
Unfortunately the braindead RSS speciifcation requires author to
be an email address, so we have to use Dublin Core metadata to
report the author name instead.
2013-05-24 09:16:28 +01:00

44 lines
1.7 KiB
Ruby

xml.instruct!
xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title t('note.rss.title')
xml.description t('note.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)
@comments.each do |comment|
location = describe_location(comment.note.lat, comment.note.lon, 14, locale)
xml.item do
if comment.event == "closed"
xml.title t('note.rss.closed', :place => location)
elsif comment.event == "commented"
xml.title t('note.rss.comment', :place => location)
elsif comment.event == "opened"
xml.title t('note.rss.new', :place => location)
else
xml.title "unknown event"
end
xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
xml.description do
xml.cdata! render(:partial => "entry", :object => comment, :formats => [ :html ])
end
if comment.author
xml.dc :creator, comment.author.display_name
end
xml.pubDate comment.created_at.to_s(:rfc822)
xml.geo :lat, comment.note.lat
xml.geo :long, comment.note.lon
xml.georss :point, "#{comment.note.lat} #{comment.note.lon}"
end
end
end
end