Class: Twitter::RateLimit
- Includes:
- Memoizable
- Defined in:
- lib/twitter/rate_limit.rb
Overview
Represents rate limit information from Twitter API responses
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#limit ⇒ Integer
Returns the rate limit ceiling for this request.
-
#remaining ⇒ Integer
Returns the number of requests remaining.
-
#reset_at ⇒ Time
Returns the time when the rate limit resets.
-
#reset_in ⇒ Integer
(also: #retry_after)
Returns the number of seconds until the rate limit resets.
Methods inherited from Base
#[], attr_reader, define_attribute_method, define_predicate_method, define_uri_method, display_uri_attr_reader, #initialize, object_attr_reader, predicate_attr_reader, uri_attr_reader
Methods included from Utils
Constructor Details
This class inherits a constructor from Twitter::Base
Instance Method Details
#limit ⇒ Integer
Returns the rate limit ceiling for this request
14 15 16 17 |
# File 'lib/twitter/rate_limit.rb', line 14 def limit limit = @attrs["x-rate-limit-limit"] limit&.to_i end |
#remaining ⇒ Integer
Returns the number of requests remaining
26 27 28 29 |
# File 'lib/twitter/rate_limit.rb', line 26 def remaining remaining = @attrs["x-rate-limit-remaining"] remaining&.to_i end |
#reset_at ⇒ Time
Returns the time when the rate limit resets
38 39 40 41 |
# File 'lib/twitter/rate_limit.rb', line 38 def reset_at reset = @attrs["x-rate-limit-reset"] Time.at(reset.to_i).utc if reset end |
#reset_in ⇒ Integer Also known as: retry_after
Returns the number of seconds until the rate limit resets
50 51 52 53 |
# File 'lib/twitter/rate_limit.rb', line 50 def reset_in time = reset_at [(time - Time.now).ceil, 0].max if time end |