你可能想看看httparty
這裏有一個如何的例子你會消耗Twitter的API。
# lib/twitter.rb
require 'httparty'
require 'hashie'
class Twitter
include HTTParty
base_uri 'twitter.com'
def timeline
self.class.get("/statuses/public_timeline.xml")["statuses"].map do |status|
Hashie::Mash.new(status)
end
end
end
# client code
client = Twitter.new
message = client.timeline.first
puts message.text
請注意,您不必創建DTO。 httparty maps xml(看看這個例子中的結構的http://dev.twitter.com/doc/get/statuses/public_timeline),然後Hashie :: Mash將它們映射到方法,因此你可以做message.text。它甚至可以遞歸地工作,所以你可以做client.timeline.first.user.name。
如果你正在創建一個rails項目,那麼我會把twitter.rb放在lib文件夾中。
如果你想用靜態方法,你可以這樣做:
require 'httparty'
require 'hashie'
class Twitter
include HTTParty
base_uri 'twitter.com'
def self.timeline
get("/statuses/public_timeline.xml")["statuses"].map do |status|
Hashie::Mash.new(status)
end
end
end
# client code
message = Twitter.timeline.first
puts message.text
爲什麼不是這些類車型?你看過ActiveResource嗎? – Jeremy 2011-06-14 14:10:26