Module: Rss::Feed::ClassMethods

Defined in:
lib/rss-feed.rb

Instance Method Summary collapse

Instance Method Details

#feed_entriesObject



12
13
14
# File 'lib/rss-feed.rb', line 12

def feed_entries
  @feed ? @feed.entries : []
end

#feed_urlObject



20
21
22
# File 'lib/rss-feed.rb', line 20

def feed_url
  @feed_url
end

#get_feedObject



24
25
26
27
28
# File 'lib/rss-feed.rb', line 24

def get_feed
  Feedzirra::Feed.fetch_and_parse(@feed_url).tap do |feed|
    @feed = feed != 0 ? feed : nil
  end
end

#subscribes_to(feed_url) ⇒ Object



16
17
18
# File 'lib/rss-feed.rb', line 16

def subscribes_to(feed_url)
  @feed_url = feed_url
end

#update_from_feedObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/rss-feed.rb', line 30

def update_from_feed
  get_feed
  feed_entries.each do |entry|
    entry.sanitize!
    entry_attributes = entry.as_json.inject({}) do |mem, (key, value)|
      mem[key.to_sym] = value; mem
    end
    self.find_or_create_by entry_attributes
  end
end