class Disqussion::Error

Custom error class for rescuing from all Disqus errors

Attributes

http_headers[R]

Public Class Methods

new(message, http_headers) click to toggle source
Calls superclass method
# File lib/disqussion/error.rb, line 6
def initialize(message, http_headers)
  @http_headers = Hash[http_headers]
  super message
end

Public Instance Methods

ratelimit_limit() click to toggle source
# File lib/disqussion/error.rb, line 15
def ratelimit_limit
  @http_headers.values_at('x-ratelimit-limit', 'X-RateLimit-Limit').detect{|value| value}.to_i
end
ratelimit_remaining() click to toggle source
# File lib/disqussion/error.rb, line 19
def ratelimit_remaining
  @http_headers.values_at('x-ratelimit-remaining', 'X-RateLimit-Remaining').detect{|value| value}.to_i
end
ratelimit_reset() click to toggle source
# File lib/disqussion/error.rb, line 11
def ratelimit_reset
  Time.at(@http_headers.values_at('x-ratelimit-reset', 'X-RateLimit-Reset').detect{|value| value}.to_i)
end
retry_after() click to toggle source
# File lib/disqussion/error.rb, line 23
def retry_after
  [(ratelimit_reset - Time.now).ceil, 0].max
end