From 44e5e17a17255c073c3ddac4c76b60ca0850f7a7 Mon Sep 17 00:00:00 2001 From: Adrian Short Date: Fri, 22 Feb 2013 13:52:56 +0000 Subject: [PATCH] Use ActiveRecord style --- app/models/feed.rb | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/app/models/feed.rb b/app/models/feed.rb index fe933d2..b826fc0 100644 --- a/app/models/feed.rb +++ b/app/models/feed.rb @@ -2,36 +2,30 @@ class Feed < ActiveRecord::Base has_many :posts, :dependent => :destroy attr_accessible :title, :url, :description, :generator, :last_fetched, :feed_url - validates :title, :presence => true validates_format_of :feed_url, :with => URI::regexp(%w(http https)), :message => "must be a valid URL" - after_create :get after_create :fetch - # Fetch and parse feed contents from web - - def self.get_all - Feed.all.each { |f| f.get } def self.fetch_all Feed.all.each { |f| f.fetch } end - def get - puts "Fetching feed: #{@url}" + # Fetch and parse feed contents from web def fetch + puts "Fetching feed: #{self.feed_url}" Feedzirra::Feed.add_common_feed_entry_element('georss:point', :as => :point) Feedzirra::Feed.add_common_feed_entry_element('geo:lat', :as => :geo_lat) Feedzirra::Feed.add_common_feed_entry_element('geo:long', :as => :geo_long) Feedzirra::Feed.add_common_feed_element('generator', :as => :generator) - feed = Feedzirra::Feed.fetch_and_parse(@feed_url) + feed = Feedzirra::Feed.fetch_and_parse(self.feed_url) - self.set( + self.update_attributes( :title => feed.title, :url => feed.url, :description => feed.description, :generator => feed.generator, - :last_fetched => Time.now + :last_fetched => DateTime.now ) feed.entries.each do |e| @@ -42,8 +36,8 @@ class Feed < ActiveRecord::Base latlon = e.point.split(' ') else next - end - + end + attrs = { :title => e.title, :url => e.url,