Twitter APIリミットの残存回数取得メソッド

【注意】APIリミットに関する情報ですので、ツイ厨のツイート規制の残存回数情報の取得手段ではありません。そういう手段は現状ありません( 127回/3時間だと言われています 私が調べたところではツイート規制値は300ツイート/3時間(ソチ五輪以降 のようです。)
【参考】Twitter APIリミットでrescueに返されるerrorオブジェクト - 別館 子子子子子子(ねこのここねこ)もご覧ください。

Twitter gem作者sferikのコメントを引用

このコメントの前にsferikは「API取得pathがいつ変わるか分からない。Twitter側が変更した際のgemの変更が大変だからrate_limit_statusを取得するメソッドは作らない」と書いていました。

sferik commented


If you're looking for a workaround, you can make arbitrary Twitter API calls like so:

Twitter.get('/1.1/application/rate_limit_status.json')[:body]

That will return a Ruby Hash. It's not pretty, but it will solve your problem for now.
Implement application/rate_limit_status · Issue #318 · sferik/twitter · GitHub

getメソッド
http://rubydoc.info/gems/twitter/Twitter/REST/Client:get
を使って、jsonそのまま取得してやればOKなわけですねだったのですが、バージョン5.13.0でTwitter gemのAPIが変更されました。ので更新しておきます。

getメソッドを使った実例

(key/secretなどはニセモノです)

pry(main)> client = Twitter::REST::Client.new(
pry(main)>   consumer_key:        '9Gu1FiE1IfKi32bR8Fw',
pry(main)>   consumer_secret:     'QUnRDVcl5FNCZ9C1j80OAjUJlguMNVyqbdrOrnjtQ',
pry(main)>   access_token:        '2194235326-sm2SUkVRHMJ1CdwYG1f04klQMlxc4i05tkSbnZa',
pry(main)>   access_token_secret: 'oairK8FMvLZ8dqEVrCgh2brhyL0SCd5wpdkIoNxz62Jdi',
pry(main)> )

pry(main)> rate_limit_status = client.__send__(:perform_get, '/1.1/application/rate_limit_status.json')

それぞれのリソースの15分当たり上限回数・残存回数・リセット時刻は以下のようにして取得できます。

pry(main)> rate_limit_status[:resources][:statuses][:"/statuses/user_timeline"]
=> {:limit=>180, :remaining=>180, :reset=>1390756232}

注意点として、pathがシンボルであることが挙げられるでしょう。
pathの詳細はhttps://dev.twitter.com/docs/api/1.1で確認できます。pathとTwitter gemのメソッドとの対応は…また記事を書きますw
またリセット時刻はエポックタイム(Time.now.to_i)で示されています。なお、リセットされる未来の時刻であり、15分の起算時刻ではありませんので、リセット時刻になると規制から解放されます。
エポックタイムを通常の時刻にするにはTime.atメソッドを使います(require 'time'不要)。

pry(main)> puts Time.at(1390756232)
2014-01-27 02:10:32 +0900

メソッドにしてみる

(1/28更新)
オープンクラスでrate_limit_statusとrate_limit_status_allメソッドを作ってみました。Twitter gemバージョン5以上の対応です。4以下の場合にはオープンするClassをTwitter::REST::ClientからTwitter::Clientに変更すれば動くはずです(4.8.1確認済)。
なお、rate_limit_statusも180回/15分の制限がありますのでご注意ください。

rate_limit_statusメソッド

引数にpath(StringまたはSymbol)を与えると

  • 上限回数・残存回数・リセット時刻(エポックタイム及びTimeオブジェクト)・Twitterへアクセスした時刻

をハッシュで返します。(keyは順に:limit, :remaining, :reset, :reset_time, :time_now)

rate_limit_status_allメソッド

リミットがある全てのAPIの情報をハッシュで返します。このハッシュに含まれているのは

  • API毎の上限回数・残存回数・リセット時刻(エポックタイム及びTimeオブジェクト)のハッシュ(keyはpath(StringまたはSymbol))
  • Twitterへアクセスした時刻(keyは:time_now)

です。

スクリプトTwitter gem バージョン5.12.0まで)
class Twitter::REST::Client
  def rate_limit_status(path)
    result_hash = rate_limit_status_all[path.to_sym]
    result_hash[:time_now] = rate_limit_status_all[:time_now]
    result_hash
  end
  
  def rate_limit_status_all
    result_hash = {}
    result_hash[:time_now] = Time.now
    rate_limits = get('/1.1/application/rate_limit_status.json')[:body][:resources]
    rate_limits.each do |genre, path_limits|
      path_limits.each do |path, limits|
        limits[:reset_time] = Time.at(limits[:reset])
        result_hash[path] = limits
        result_hash[path.to_s] = limits
      end
    end
    result_hash
  end
end
スクリプトTwitter gem バージョン5.13.0以降)
class Twitter::REST::Client
  def rate_limit_status(path)
    result_hash = rate_limit_status_all[path.to_sym]
    result_hash[:time_now] = rate_limit_status_all[:time_now]
    result_hash
  end
  
  def rate_limit_status_all
    result_hash = {}
    result_hash[:time_now] = Time.now
    rate_limits = perform_get('/1.1/application/rate_limit_status.json')[:resources]
    rate_limits.each do |genre, path_limits|
      path_limits.each do |path, limits|
        limits[:reset_time] = Time.at(limits[:reset])
        result_hash[path] = limits
        result_hash[path.to_s] = limits
      end
    end
    result_hash
  end
end
実行結果

rate_limit_statusの引数であるpathは、StringでもSymbolでも同じ返値が得られます。

pry(main)> client.rate_limit_status("/statuses/user_timeline")
=> {:limit=>180,
 :remaining=>180,
 :reset=>1390917352,
 :reset_time=>2014-01-28 22:55:52 +0900,
 :time_now=>2014-01-28 22:40:53 +0900}
pry(main)> client.rate_limit_status(:"/statuses/user_timeline")
=> {:limit=>180,
 :remaining=>180,
 :reset=>1390917362,
 :reset_time=>2014-01-28 22:56:02 +0900,
 :time_now=>2014-01-28 22:41:03 +0900}

rate_limit_status_allメソッドでも同じ情報へアクセスできます。複数APIの残存回数を取得したい場合には、このrate_limit_status_allを使ってください。
またrate_limit_statusメソッドと同じく、rate_limit_status_allで返される(ハッシュ)オブジェクトのkeyに与えるpathは、StringでもSymbolでもどちらでも同じ値が返されます。

pry(main)> client.rate_limit_status_all["/statuses/user_timeline"]
=> {:limit=>180,
 :remaining=>180,
 :reset=>1390917398,
 :reset_time=>2014-01-28 22:56:38 +0900}
pry(main)> client.rate_limit_status_all[:"/statuses/user_timeline"]
=> {:limit=>180,
 :remaining=>180,
 :reset=>1390917404,
 :reset_time=>2014-01-28 22:56:44 +0900}

この返値の全体を見てみましょう。pathのStringとSymbolで同じ値が返るようハッシュを設定してあります。

pry(main)> client.rate_limit_status_all
=> {:time_now=>2014-01-28 22:41:54 +0900,
 :"/lists/subscribers"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/subscribers"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/memberships"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/memberships"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/ownerships"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/ownerships"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/subscriptions"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/subscriptions"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/members"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/members"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/subscribers/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/subscribers/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/statuses"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/statuses"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/members/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/members/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/lists/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/lists/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/application/rate_limit_status"=>{:limit=>180, :remaining=>175, :reset=>1390917352, :reset_time=>2014-01-28 22:55:52 +0900},
 "/application/rate_limit_status"=>{:limit=>180, :remaining=>175, :reset=>1390917352, :reset_time=>2014-01-28 22:55:52 +0900},
 :"/friendships/incoming"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friendships/incoming"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friendships/lookup"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friendships/lookup"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friendships/outgoing"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friendships/outgoing"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friendships/no_retweets/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friendships/no_retweets/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friendships/show"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friendships/show"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/blocks/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/blocks/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/blocks/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/blocks/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/geo/similar_places"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/geo/similar_places"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/geo/search"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/geo/search"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/geo/reverse_geocode"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/geo/reverse_geocode"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/geo/id/:place_id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/geo/id/:place_id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/profile_banner"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/profile_banner"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/suggestions/:slug/members"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/suggestions/:slug/members"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/show/:id"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/show/:id"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/suggestions"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/suggestions"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/lookup"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/lookup"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/search"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/search"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/contributors"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/contributors"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/contributees"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/contributees"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/users/suggestions/:slug"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/users/suggestions/:slug"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/followers/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/followers/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/followers/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/followers/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/mentions_timeline"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/mentions_timeline"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/show/:id"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/show/:id"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/oembed"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/oembed"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/retweeters/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/retweeters/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/home_timeline"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/home_timeline"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/user_timeline"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/user_timeline"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/retweets/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/retweets/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/statuses/retweets_of_me"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/statuses/retweets_of_me"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/help/privacy"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/help/privacy"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/help/tos"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/help/tos"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/help/configuration"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/help/configuration"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/help/languages"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/help/languages"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friends/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friends/ids"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/friends/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/friends/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/direct_messages/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/direct_messages/show"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/direct_messages/sent_and_received"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/direct_messages/sent_and_received"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/direct_messages/sent"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/direct_messages/sent"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/direct_messages"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/direct_messages"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/account/verify_credentials"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/account/verify_credentials"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/account/settings"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/account/settings"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/favorites/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/favorites/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/saved_searches/destroy/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/saved_searches/destroy/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/saved_searches/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/saved_searches/list"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/saved_searches/show/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/saved_searches/show/:id"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/search/tweets"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/search/tweets"=>{:limit=>180, :remaining=>180, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/trends/available"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/trends/available"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/trends/place"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/trends/place"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 :"/trends/closest"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900},
 "/trends/closest"=>{:limit=>15, :remaining=>15, :reset=>1390917415, :reset_time=>2014-01-28 22:56:55 +0900}}

これらのメソッドを使うと"/application/rate_limit_status"を消費するので、その点も注意してください。