データベースにアクセスしないModelを作りたい、というか文法わかんない

はてなWebサービスでブックマークをいじってみたくなったので、とりあえず書いてるんだけど、Rubyの文法は片手間で動けばいいと思ってたせいでなんかRubyっぽくないコードになってる気がする。。。


RailsのController内でREXMLで検索した結果を返してViewで使いたいんだけど、なんかしっくり来ないんですよね。

def bookmark
    url = %Q[http://b.hatena.ne.jp/hogehoge/atomfeed?date=20070201]
    
    doc = nil
    open(url){|f|
      doc = REXML::Document.new f
    }
 
    @rss_title = REXML::XPath.first(doc, '//feed/title').text
    @items = Array.new
    REXML::XPath.each(doc, '//entry'){|item|
      hatena = HatenaBookmark.new
      hatena.title = REXML::XPath.first(item, 'title').text
      hatena.link = REXML::XPath.first(item, 'link').attributes['href']
      @items.push hatena
    }
end

DBに接続とかしないんでActiveRecordのクラスは必要ないんだけど、持ってきたブックマークの情報はModelとして扱いたい(というかmodelsディレクトリの中に入れておきたい)のでHatenaBookmarkをscript/create modelしてしまった。。。
うーん。構造体みたいなもんで充分なんだけどなぁ。でもmodelsの中に勝手にクラス作っても使えるっけ?

というか@itemsにHatenaBookmarkのオブジェクトを入れてってる時点でかっこ悪い気がしてきた。
特にModel作らないでもいいから

@items.push REXML::XPath.first(item, 'title').text REXML::XPath.first(item, 'link').attributes['href']

みたいなのをループしたら

@items => 
   ['タイトルhoge','http://hogehoge.jp'],
   ['たいとるmoge','http://moge.com']

みたいな感じにならないかなぁ。(↑記法めちゃくちゃ!)


Rubyは文法が柔軟すぎてよく分からないこと多いです。頭かたいかも。

追記

ん。久しぶりにプログラムっぽいエントリだ。