Twitter を操作する gem に userstream というものがあり、かつて twitter gem がまだストリームをサポートしていなかった頃にこの userstream を使っていました。
twitter gem がストリームに対応してからというもの、最近はめっきり twitter gem を使っていますが、まだ userstream を使用したプロジェクトが手元に残っていたので、移行手順をここにメモしておこうと、そういう魂胆です。
Gemfile
Gemfile は
Gemfile
gem 'userstream', :git => 'git://github.com/mitukiii/userstream.git'
を
Gemfile
gem 'twitter'
と変更します。
初期化
UserStream
の初期化は、
UserStream.configure do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.oauth_token = ENV['TWITTER_OAUTH_TOKEN']
config.oauth_token_secret = ENV['TWITTER_OAUTH_TOKEN_SECRET']
end
を
@stream_client = Twitter::Streaming::Client.new do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.access_token = ENV['TWITTER_OAUTH_TOKEN']
config.access_token_secret = ENV['TWITTER_OAUTH_TOKEN_SECRET']
end
などと変更します。
ストリーム受信
あとは
UserStream.client.user do |status|
nirunari_yakunari status
end
としていたところを
@stream_client.user do |status|
nirunari_yakunari status
end
とすればよいです。
エラー処理の UserStream::RateLimited
は Twitter::RateLimited
とすればよいです。
詳しくは gem のドキュメントを読みます。Class: Twitter::Streaming::Client — Documentation for twitter