Существует плагин / гем под названием HTTParty, который я использовал для нескольких проектов.
http://johnnunemaker.com/httparty/
HTTParty позволяет вам легко использовать любой веб-сервис и анализировать результаты для вас. Затем вы можете использовать сам хеш или создать один или несколько экземпляров модели с результатами. Я сделал это в обе стороны.
Для примера в Твиттере ваш код будет выглядеть так:
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
# usage examples.
twitter = Twitter.new('username', 'password')
twitter.post("It's an HTTParty and everyone is invited!")
twitter.timeline(:friends, :query => {:since_id => 868482746})
twitter.timeline(:friends, :query => 'since_id=868482746')
В качестве последнего пункта вы также можете использовать приведенный выше код, но обязательно включите его в модель, а не в контроллер.