RubyでRSS/Atomを取得するfeedjiraを試してみる

Ruby on RailsでFeed Readerを作ってみようと思い立ちgemを調べた所、feedjiraというのが良さそうだったので試してみる。

require 'feedjira'

url = "https://hira0hrk.hateblo.jp/feed"
feed = Feedjira::Feed.fetch_and_parse url
puts feed.title
puts feed.url
puts feed.last_modified
puts "---"
feed.entries.each do |entry|
  puts entry.title
  puts entry.url
  puts entry.published
  puts "---"
end

実行結果。

hira0hrkのブログ
https://hira0hrk.hateblo.jp/
2018-11-18 04:32:10 UTC
---
Ruby on RailsにおけるPUTとPATCHの話
https://hira0hrk.hateblo.jp/entry/2018/11/18/133210
2018-11-18 04:32:10 UTC
---
Ruby on Rails Tutorial の学習をローカルの仮想環境 (VirtualBox + Linux Mint) で進めるための環境構築
https://hira0hrk.hateblo.jp/entry/2018/10/30/221851
2018-10-30 13:18:51 UTC
---
Ruby on Rails Tutorialを完走したのでふりかえる
https://hira0hrk.hateblo.jp/entry/2018/10/28/224252
2018-10-28 13:42:52 UTC
---

Feed Readerを作る場合、定期的に取得処理を行う必要があるが、取得する度に同じ記事が登録されないようにしなければならない。"最後に取得した時の最終更新日より新しい記事があればDBに追加する" という感じで実装すれば、同じ記事を登録せずに済みそう。