Skip to content

Instantly share code, notes, and snippets.

@wanderingmatt
Created September 1, 2009 03:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wanderingmatt/178893 to your computer and use it in GitHub Desktop.
Save wanderingmatt/178893 to your computer and use it in GitHub Desktop.
def self.refresh
feeds = self.active
feeds.each do |feed|
doc = Nokogiri::XML(open(feed.url))
doc.css('item').each do |item|
hash = Digest::SHA1.hexdigest item
unless Item.find_by_salt hash
feed.items.create :source => item.to_xml, :salt => hash
end
end
end
end
<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:flickr="urn:flickr:" version="2.0">
<channel>
<title>Matthew Anderson's favorites</title>
<link>http://www.flickr.com/photos/matthew-anderson/favorites/</link>
<description>Matthew Anderson's favorites on Flickr.</description>
<pubDate>Wed, 26 Aug 2009 13:51:28 -0700</pubDate>
<lastBuildDate>Wed, 26 Aug 2009 13:51:28 -0700</lastBuildDate>
<generator>http://www.flickr.com/</generator>
<image>
<url/>
<title>Matthew Anderson's favorites</title>
<link>http://www.flickr.com/photos/matthew-anderson/favorites/</link>
</image>
<item>
<title>NYC Type - 21 Air-26 - NoHo</title>
<link>http://www.flickr.com/photos/ampersanderson/3859529839/</link>
<description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/ampersanderson/"&gt;ampersanderson&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ampersanderson/3859529839/" title="NYC Type - 21 Air-26 - NoHo"&gt;&lt;img src="http://farm3.static.flickr.com/2471/3859529839_61f0417e05_m.jpg" width="240" height="182" alt="NYC Type - 21 Air-26 - NoHo" /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
<pubDate>Wed, 26 Aug 2009 13:51:28 -0700</pubDate>
<dc:date.Taken>2009-08-26T16:51:28-08:00</dc:date.Taken>
<author flickr:profile="http://www.flickr.com/people/ampersanderson/">nobody@flickr.com (ampersanderson)</author>
<guid isPermaLink="false">tag:flickr.com,2004:/photo/3859529839/</guid>
<media:content url="http://farm3.static.flickr.com/2471/3859529839_9cb492ecd6_o.jpg" type="image/jpeg" height="607" width="800"/>
<media:title>NYC Type - 21 Air-26 - NoHo</media:title>
<media:thumbnail url="http://farm3.static.flickr.com/2471/3859529839_61f0417e05_s.jpg" height="75" width="75"/>
<media:credit role="photographer">ampersanderson</media:credit>
</item>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;Ak8MQXw9fip7ImA9WxNSE0g.&quot;">
<id>tag:youtube.com,2008:user:WanderingMatt:favorites</id>
<updated>2009-08-27T07:41:20.266Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://gdata.youtube.com/schemas/2007#favorite"/>
<title>Favorites of WanderingMatt</title>
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
<link rel="related" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/users/wanderingmatt?client=ytapi-youtube-user&amp;v=2"/>
<link rel="alternate" type="text/html" href="http://www.youtube.com/profile_favorites?user=WanderingMatt"/>
<link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/users/WanderingMatt/favorites?client=ytapi-youtube-user&amp;v=2"/>
<link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/users/WanderingMatt/favorites/batch?client=ytapi-youtube-user&amp;v=2"/>
<link rel="self" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/users/WanderingMatt/favorites?start-index=1&amp;max-results=25&amp;client=ytapi-youtube-user&amp;v=2"/>
<link rel="service" type="application/atomsvc+xml" href="http://gdata.youtube.com/feeds/base/users/WanderingMatt/favorites?alt=atom-service&amp;v=2"/>
<author>
<name>WanderingMatt</name>
<uri>http://gdata.youtube.com/feeds/base/users/wanderingmatt</uri>
</author>
<generator version="2.0" uri="http://gdata.youtube.com/">YouTube data API</generator>
<openSearch:totalResults>7</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<entry gd:etag="W/&quot;AkAEQH47eCp7ImA9WxNSE0g.&quot;">
<id>tag:youtube.com,2008:favorite:vjVQa1PpcFO-tj1IT50VcuFmA_c66pQmNiO0eVBdH-Y</id>
<published>2009-08-27T07:38:21.000Z</published>
<updated>2009-08-27T07:38:21.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://gdata.youtube.com/schemas/2007#favorite"/>
<title>Starcraft 2 - Wings of Liberty Preview - HD</title>
<link rel="alternate" type="text/html" href="http://www.youtube.com/watch?v=Y-9Ms9Jr9jQ"/>
<link rel="related" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/videos/Y-9Ms9Jr9jQ?client=ytapi-youtube-user&amp;v=2"/>
<link rel="self" type="application/atom+xml" href="http://gdata.youtube.com/feeds/base/users/WanderingMatt/favorites/vjVQa1PpcFO-tj1IT50VcuFmA_c66pQmNiO0eVBdH-Y?client=ytapi-youtube-user&amp;v=2"/>
<author>
<name>WanderingMatt</name>
<uri>http://gdata.youtube.com/feeds/base/users/wanderingmatt</uri>
</author>
</entry>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment