Class: FeedzirraRedis::Feed
- Inherits:
-
Object
- Object
- FeedzirraRedis::Feed
- Includes:
- DataMapper::Resource
- Defined in:
- lib/feedzirra-redis.rb
Class Method Summary collapse
- .fetch_and_parse(urls, options = {}) ⇒ Object
-
.update(feeds, options = {}) ⇒ Object
Delegate for compatibility.
Instance Method Summary collapse
Class Method Details
.fetch_and_parse(urls, options = {}) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/feedzirra-redis.rb', line 43 def self.fetch_and_parse(urls, = {}) if urls.is_a?(String) feed = Feedjira::Feed.fetch_and_parse(urls, ) update_redis_from feed elsif urls.is_a?(Array) feeds = Feedjira::Feed.fetch_and_parse(urls, ) redis_feeds = {} feeds.map do |feed| redis_feed = update_redis_from feed redis_feeds.merge!(redis_feed.feed_url => redis_feed) end else raise "Unexpected urls class #{urls.class}" end end |
.update(feeds, options = {}) ⇒ Object
Delegate for compatibility
60 61 62 63 |
# File 'lib/feedzirra-redis.rb', line 60 def self.update(feeds, = {}) feeds.is_a?(Array) ? urls = feeds.map { |f| f.feed_url } : urls = feeds.feed_url self.fetch_and_parse(urls, ) end |
Instance Method Details
#add_entries(entries) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/feedzirra-redis.rb', line 30 def add_entries(entries) entries.each do |entry| unique_id = entry.id || entry.url redis_entry = Entry.first_or_create( {:guid => unique_id}, { :title => entry.title, :summary => entry.summary, :url => entry.url, :published => entry.published, :feed => self }) end end |