Ruby | Ruby で CodeIQ の新着問題の RSS を取得する

# Ruby | Ruby で CodeIQ の新着問題の RSS を取得する

## 概要
Ruby で CodeIQ の新着問題の RSS を取得します。

## 仕様
* CodeIQの新着問題のRSSを取得
* RSS の URL は https://codeiq.jp/rss.xml
* 出題者順にソートする
* 出力フォーマットは下記

~~~
=================================
出題者   出題者名
タイトル 問題名
詳細     問題詳細説明
=================================
:
: 繰り返し
~~~

## サンプルコード

ruby:ruby_read_codeiq_rss.rb

~~~ruby
require 'rss'

class RSS::Rss::Channel::Item
  def to_s
    <<-EOS
=================================
出題者   #{@category.first.content}
タイトル #{@title}
詳細     #{@description}
=================================
    EOS
  end
end

url = 'https://codeiq.jp/rss.xml'
rss = RSS::Parser.parse(url)
rss.items
    .sort_by { |e|e.category.content }
    .each { |item|puts item }
~~~

## 出力

~~~bash
$ ruby ruby_read_codeiq_rss.rb
=================================
出題者   @Nabetani
タイトル 挑戦者求む！【数学】中学入試から：数列の和 by @Nabetani 鍋谷 武典
詳細     中学入試によく出る算数の問題です。数列の和を計算して下さい。（挑戦受付締切予定　2014年8月19日 AM10:00）
=================================
=================================
出題者   @antimon2
タイトル 挑戦者求む！【Python】yieldのお勉強 Lv.2 by @antimon2 antimon2
詳細     yield、使いこなしていますか？　桜先生と一緒にyieldの使い方をもっと勉強しよう！（挑戦受付締切予定　2014年8月25日 AM10:00）
=================================
=================================
出題者   @antimon2
タイトル 挑戦者求む！【Ruby】yieldのお勉強 Lv.2 by @antimon2 antimon2
詳細     yield、使いこなしていますか？　桜先生と一緒にyieldの使い方をもっと勉強しよう！（挑戦受付締切予定　2014年8月25日 AM10:00）
=================================
=================================
出題者   @antimon2
タイトル 挑戦者求む！【Python】yieldのお勉強 Lv.1 by @antimon2 antimon2
詳細     Pythonのyield、使っていますか？　桜先生と一緒にyieldの使い方を勉強しよう！（挑戦受付締切予定　2014年8月18日 AM10:00）
=================================
=================================
出題者   @cielavenir
タイトル 挑戦者求む！【アルゴリズム】モーニングクエスト：フィボナッチ数列 by @cielavenir ciel "[挑戦受付は終了しました]"
詳細     5時間限定！早起きして朝活しましょう！（挑戦受付締切予定　2014年8月4日 AM10:00）
=================================
=================================
出題者   @makotoo2
タイトル 挑戦者求む！【Objective-C】来年のクリスマスは何曜日？ by @makotoo2 大津 真
詳細     Objective-Cに用意されている日付時刻の管理用クラスを操作してみましょう！（挑戦受付締切予定　2014年8月25日 AM10:00）
=================================
=================================
出題者   @makotoo2
タイトル 挑戦者求む！【Objective-C】村の数はいくつかな？ by @makotoo2 大津 真
詳細     ブロックを使用して配列の要素を順に処理する問題に挑戦！（挑戦受付締切予定　2014年8月18日 AM10:00）
=================================
=================================
出題者   @tamagawa_ryuji
タイトル 挑戦者求む！【Vagrant】実践：プラグインを使いこなそう！ by @tamagawa_ryuji 玉川 竜司
詳細     Vagrantで大切なのがプラグイン。今回はvagrant-cachierを使ってみましょう！ （挑戦受付締切予定　2014年8月19日 AM10:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】言語不問：素数の数を数えてください by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     与えられた数字よりも小さい数字の中で素数がいくつあるかを調べるプログラムを作ってください（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】C#：フィギュアを最高額で売ろう by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     CIQ48のフィギュアをできるだけ高く売ってください。（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】Java：アイテム類似度のレコメンド by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     Javaを使って類似度に基づいたアイテム型のレコメンデーションを計算してみましょう（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】JS：素数と醜いアヒルのコード by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     一桁の素数で割り切れる数字を見つけると醜いアヒルの子は白鳥になれるビスケットが食べられます（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】Py：グーテンベルグ印刷の活字 by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     グーテンベルグ印刷を行っている印刷屋さんは活字がどこにあるかすぐさま特定する必要があります（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】PHP：海平の怒りを最小限にせよ by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     ホンガツオ君はいつも父・海平に怒られています。怒りの量が最小限になるように考えてみましょう。（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】C++：島の多いエーゲ海 by CodeIQ運営事務局 アプリケーションエンジニアを募集する企業
詳細     島の多いエーゲ海へ冒険に出たところ、船長・ルビーが島が多すぎて怒りはじめました（挑戦受付締切予定　2014年9月1日 AM8:00）
=================================
=================================
出題者   CodeIQ運営事務局
タイトル 挑戦者求む！【ウチに来ない？】Chefでローカル開発環境構築 by CodeIQ運営事務局 インフラエンジニアを募集する企業
詳細     Chefを使用して、 ローカル開発環境を構築してください。（挑戦受付締切予定　2014年8月25日 AM8:00）
=================================
=================================
出題者   増井技術士事務所
タイトル 挑戦者求む！【アルゴリズム】今週のお題：反転で作る互い違い by 増井技術士事務所 今週のアルゴリズムの@masuipeo
詳細     今週のお題は「反転で作る互い違い」です。ちょっとした頭の体操してみましょう。（挑戦受付締切予定　2014年8月13日 AM10:00）
=================================
=================================
出題者   増井技術士事務所
タイトル 挑戦者求む！【アルゴリズム】今週のお題：いまだに現金払い？ by 増井技術士事務所 今週のアルゴリズムの@masuipeo
詳細     今週のお題は「いまだに現金払い？」です。ちょっとした頭の体操してみましょう。（挑戦受付締切予定　2014年8月20日 AM10:00）
=================================
=================================
出題者   有限会社ネットワーク・メンター
タイトル 挑戦者求む！【Linux】Linux基礎－RPM/Yum by 有限会社ネットワーク・メンター 笠野 英松
詳細     Linuxの基礎問題にチャレンジしよう！（挑戦受付締切予定　2014年8月21日 AM10:00）
=================================
=================================
出題者   有限会社ネットワーク・メンター
タイトル 挑戦者求む！【Linux】Linux応用－ネットワーク構成 by 有限会社ネットワーク・メンター 笠野 英松
詳細     Linuxの応用問題にチャレンジしよう！（挑戦受付締切予定　2014年8月28日 AM10:00）
=================================
~~~