class FeedNotifier::FeedList
Public Class Methods
new(config)
click to toggle source
# File lib/feed_notifier/feed.rb, line 7 def initialize(config) @config = config end
Public Instance Methods
updated_entries(since={})
click to toggle source
# File lib/feed_notifier/feed.rb, line 15 def updated_entries(since={}) unless (@last_feeds && @last_feeds.size > 0) FeedNotifier.logger.info "fetching urls for the first time.." @last_feeds = Feedzirra::Feed.fetch_and_parse(urls) return [] end new_feeds = Feedzirra::Feed.fetch_and_parse(urls) new_entries = new_feeds.inject([]) { |entries,(url,feed)| last_feed = @last_feeds[url] if last_feed unless last_feed.respond_to?(:feed_url) FeedNotifier.logger.warn "feed object for #{url} isn't valid. #{last_feed}" next entries end last_feed.update_from_feed(feed) FeedNotifier.logger.debug "updates for #{url} ... #{last_feed.new_entries}" next entries + last_feed.new_entries end entries } @last_feeds = new_feeds return new_entries end
urls()
click to toggle source
# File lib/feed_notifier/feed.rb, line 11 def urls @urls ||= @config.feed_urls end