Browse the Ruby on Rails Community.

You are here: Browse Railsplugins Atom Feed Helper

Atom Feed Helper

Makes it easier to create atom feeds through Builder.

Example

  1. from PostsController def index @posts = Post.find(:all, :limit => 25)

    respond_to do |format| format.html format.atom end

    end
  1. from posts/index.atom.builder
atom_feed(:url => formatted_people_url(:atom)) do |feed|
  feed.title("Address book")
  feed.updated(@people.first ? @people.first.created_at : Time.now.utc)
end
for post in @posts
  feed.entry(post) do |entry|
    entry.title(post.title)
    entry.content(post.body, :type => 'html')
end
entry.author do |author|
    author.name(post.creator.name)
    author.email(post.creator.email_address)
  end
end

...returns:

<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:localhost:people</id>
  <link href="http://example.com/people.atom" rel="self" type="application/atom+xml" />
  <title>Address book</title>
  <updated></updated>
  <entry>
    <id>tag:localhost:3000,2007-05-18T16:35:00-07:00:Person1</id>
    <published>2007-05-18T16:35:00-07:00</published>
    <link href="http://example.com/people/1" rel="alternate" type="text/html" />
    <title>The future is now</title>
    <content type="html">Once upon a time</content>
    <author>
      <name>DHH</name>
      <email>david@loudthinking.com</email>
    </author>
  </entry>
  <entry>
    <id>tag:localhost:3000,2007-05-18T09:36:00-07:00:Person2</id>
    <published>2007-05-18T09:36:00-07:00</published>
    <link href="http://example.com/people/1" rel="alternate" type="text/html" />
    <title>Matz</title>
    <content type="html">This is Matz</content>
    <author>
      <name>Matz</name>
      <email>Matz</email>
    </author>
  </entry>
</feed>

Copyright© 2007 David Heinemeier Hansson, released under the MIT license

NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly