twitter_retry (0.1.0): Twitter api awesome handling with retry http://t.co/YlUSqomYgq
— RubyGems (@rubygems) 2015, 7月 19
どんなgem?
Twitter APIのエラーハンドリングをいい感じに行うためのgemです
作った経緯
弊社はTwitter APIを使ったアプリがいくつかあるのですが、エラーハンドリング周りが共通化されていなかったのでgemにしました。一応弊社のアプリ2〜3個くらい見て汎用化したつもりです。
使い方
TwitterRetry.with_handing do # some twitter API code twitter.update("some tweet") end
with_handing
のブロックの中に任意のTwitter APIの処理を書くだけで、
- 「Your account is suspended and is not permitted to access this feature.(凍結済みユーザのエラー)」が投げられたら
TwitterRetry::SuspendedError
を投げる - 「User is over daily status update limit.(一時的な規制)」 や 「Status is a duplicate.(重複連投)」などが投げられたらエラーは握りつぶす
- Twitter側の一時的なエラー(Over capacityやInternal errorなど)が投げられたら1秒待って3回までリトライ。それでダメなら
TwitterRetry::RetryOverError
を投げる
と、いい感じにエラーハンドリングを行います。
追伸
gemを月に1つペースで作ってるのでせっかくなので「今月のgem」というタイトルつけました