rest-clientがイロイロ変わってた

まず maintainer が変わって、official repository が変わってた。もう半年前の話だった。

archiloque's fork is now official

そんでもって 0.9 からの違いで言うと

  • jeweler で gem を作るようになった
  • rspec でテストを書くようになった
  • mimetype の取り回しは mime-types に依存するようになった
  • cookie 周りで CGI を呼び出すようになった

こんな感じ1

一度 1.4 で response が String でなくなって、あれ、既存のスクリプト書き直しか?と思ったら 1.5 でまた String に戻った2。ということで 1.4 を華麗にスルーしていた自分は慌ててスクリプトを書き直す必要はなかった。

rest-client を使って cache 付きの downloader のようなものを書いて動かしてるんだけど、最近は

crohr's rest-client-components at master - GitHub

Rack Middleware を透過的に使おうとしているものもあるらしい。実はここら辺からもうよく分からなくなってきてるんだけど、Rack ってサーバサイドの話じゃないんだっけ? Rack Middleware を client サイドで使うこともできるのね。まぁ rest-client の投げる request を受け取って処理するんだから Rack でいいのか。

で、Rack::Cache は Rack とは別 gem なので注意。中身は軽く見たところ

  • Marshal を使ったファイルベースの cache
  • memcached
  • GAE

に対応しているらしい。なるほどなぁ。

  1. あとは 1.1.0 で contributor から名前が消えた、とか :-) 

  2. Stringを継承するのではなく、単に String のプロパティにあれこれぶらさげる方法に変わったようだ。 

More