RubyでURIを扱うためのクラスライブラリです。 以前はRAAにあるuri.rbと 名前が衝突していたためにURbクラスとしていましたが、 そちらの開発が終了しているということもあって URIという名前をありがたくちょうだいしました。 現状でFTP、HTTP、HTTPS、LDAP、MAILTOをサポートしています。 ドキュメントは準備中です。
実はRuby本体に組み込んではどうかというオファーをもらっています。 URI→URbと名前を変えておいたのに、 ここでさらにURIに戻したというのはそのあたりのからみでもあります。 現在はcvs.ruby-lang.orgのroughの中に含まれていますので、 そちらでもってインタフェースなどについて考えていきたいと思っています。
Generic#to_strを廃止しました。
またGeneric#==の中で
引数からURIオプジェクトを作っていたいたのは止めました。foo=という名前のメソッドが
与えられた引数をそのまま返すようになりました。
URIでもこの仕様変更に合わせることにしました
(つまり与えられた引数を明示的に返すことで、
1.6系でも引数がそのまま返るようにしました)。Generic#to_aryとGeneric#to_aを廃止しました。
これによってputsでの表示がそのままURIになります
(以前はURIを構成するパーツをならべた配列になってしまっていた)。URI === uriが可能となります。Generic#selectとGeneric#merge!を追加しました。freezeしました。==でURI配下のクラス以外と比較しても、
例外を起こさないようにしました。normalize!と
normalizeが追加されました。==で比較する際に可能であればホスト名部分において
大文字小文字の違いを無視するようにしました。URI::VERSIONでバージョンを参照できるようにしました。