你可能想看看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