如果web服務不在正常的「Rails方式」做事情上,我會推薦HTTParty。向網絡服務做出Proxy是非常容易的,無論您希望如何迴應。
舉例來說,這裏是他們的訪問Twitter的時間表
class Twitter
include HTTParty
base_uri 'twitter.com'
def initialize(u, p)
@auth = {:username => u, :password => p}
end
# which can be :friends, :user or :public
# options[:query] can be things like since, since_id, count, etc.
def timeline(which=:friends, options={})
options.merge!({:basic_auth => @auth})
self.class.get("/statuses/#{which}_timeline.json", options)
end
def post(text)
options = { :query => {:status => text}, :basic_auth => @auth }
self.class.post('/statuses/update.json', options)
end
end
twitter = Twitter.new(config['email'], config['password'])
pp twitter.timeline
謝謝你這麼全面的回答。幸運的是,JSON服務是RESTful的,只是它沒有以ActiveResource預期的方式做出響應。現在我會避免使用ActiveResource,因爲我知道它已經死了,而是讀取您鏈接到的DZone文章。再次感謝! – gjb 2012-08-14 17:01:23
哦,這是個好消息!在這種情況下,任務不應該太困難。即使您沒有使用ActiveResource,也可以嘗試查看代碼以瞭解其工作原理。 – 2012-08-14 20:46:30
如果您仍在處理此問題,請參閱其他一些可能有用的寶石:https://github.com/filtersquad/api_smith https://github.com/remiprev/her https://github.com/ apotonick/roar – 2012-10-31 13:53:47