How's it going SO'ers?
I've appended a Recent News section to the top of Users Dashboard, where it fetches news stories through Feedjira
, saves the NewsEntry
to the database (postgres) and then picks three random NewsEntries
to display in the Dashboard#index
view.
I've also created a rake task NewsEntry.update_from_feed(feed_url)
to update the table with new NewsEntries
scheduled to run once every 24 hours.
My problem, because it's a Recent News section I would like to fetch the NewsEntries
that were published today (or yesterday; this could be a time as well). Eventually I'll add to the rake task to remove old articles and update the feed with newer articles. Right now I am getting an error trying to fetch entries on a certain date:
NoMethodError: undefined method `where' for #<Array:0x00007fcab2910d00>
NewsEntry
class NewsEntry < ApplicationRecord def self.update_from_feed(feed_url) feed = Feedjira::Feed.fetch_and_parse(feed_url) add_entries(feed.entries) end private def self.add_entries(entries) today = Date.today entries.where("published_at = ?", today) do |entry| unless exists? :guid => entry.id create!( :title => entry.title, :url => entry.url, :published_at => entry.published, :guid => entry.id ) end end endend
Thanks in advance for any help!