Sha256: 38060b84115d1c2c4730dc30890aa3dd91be4fa8066a7109c18a007d4ceef848
Contents?: true
Size: 945 Bytes
Versions: 3
Compression:
Stored size: 945 Bytes
Contents
module AngellistApi # Custom error class for rescuing from all AngellistApi errors class Error < StandardError attr_reader :http_headers # Initializes new Error object # # @param [String] message # @param [Hash] http_headers # @return [AngellistApi::Error] def initialize(message, http_headers={}) @http_headers = http_headers super message end # @return [Time] def ratelimit_reset reset = http_headers['x-ratelimit-reset'] Time.at(reset.to_i) if reset end # @return [Integer] def ratelimit_limit limit = http_headers['x-ratelimit-limit'] limit.to_i if limit end # @return [Integer] def ratelimit_remaining remaining = http_headers['x-ratelimit-remaining'] remaining.to_i if remaining end # @return [Integer] def retry_after [(ratelimit_reset - Time.now).ceil, 0].max if ratelimit_reset end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
angellist_api-1.1.0 | lib/angellist_api/error.rb |
angellist_api-1.0.7 | lib/angellist_api/error.rb |
angellist_api-1.0.6 | lib/angellist_api/error.rb |