class Gifnoc::API

Public Class Methods

new(token:, base_url:) click to toggle source
# File lib/gifnoc/apis/api.rb, line 15
def initialize(token:, base_url:)
        @token = token
        @options = {
                base_uri: base_url,
                headers: headers,
        }
end

Private Instance Methods

handle_error(response) click to toggle source
# File lib/gifnoc/apis/api.rb, line 42
def handle_error(response)
        raise Gifnoc::HTTPError.new(status_code: response.code, response: response.parsed_response)
end
headers() click to toggle source
# File lib/gifnoc/apis/api.rb, line 25
def headers
        return {
                "X-Token" => @token,
                'Content-Type' => 'application/json',
        }
end
with_response_handling() { || ... } click to toggle source
# File lib/gifnoc/apis/api.rb, line 32
def with_response_handling
        response = begin
                yield
        rescue ::Timeout::Error # includes ::Net::OpenTimeout and ::Net::ReadTimeout
                raise Gifnoc::Timeout
        end
        handle_error(response) unless response.success?
        return response.parsed_response
end