class Bitsor::RateLimit

Public Class Methods

from_response(response) click to toggle source
# File lib/bitsor/concerns/rate_limit.rb, line 5
def self.from_response(response)
  info = new
  unless response&.headers.nil?
    info.limit = (response.headers['X-RateLimit-Limit'] || 1).to_i
    info.remaining = (response.headers['X-RateLimit-Remaining'] || 1).to_i
    info.resets_at = Time.at((response.headers['X-RateLimit-Reset'] || Time.now).to_i)
    info.resets_in = [(info.resets_at - Time.now).to_i, 0].max
  end

  info
end