not good but great

プログラミング、アート、映画・本の感想について書きます。

sort_byとreverse!を使って、hashを要素に持つ配列を降順にソートする

RSSフィードをパース

sorting - How to sort an array in descending order in Ruby - Stack Overflow

response = "http://keiba.radionikkei.jp/keiba/rss2/index.xml"
doc = Nokogiri::XML(open(response))
titles = doc.xpath("//item").map do |e|
   title = e.xpath("title").first.content
   link = e.xpath("link").first.content
   date = e.xpath("pubDate").text.to_datetime
   feeds.push({title: title, link: link,pubDate: date})
end

競馬ニュースのRSSを取得して、hashを配列に入れる。

[{"title":"【毎日杯】アンビシャス、アッシュゴールドら18頭が登録 - 競馬ニュース","link":"http://keiba.jp/news/?cid=40567","pubDate":"2015-03-22T18:49:28.000+09:00"}]

こんな感じに入る。

降順にソート

feeds = feeds.sort_by{|f| f[:pubDate]}.reverse!

これで日付が新しい順(降順)にソートできた。