Sha256: d8e2416f6b7475fe02a58665e61d68a5d053d0db05d25e3b17a9f5f694b77363
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
module Sportradar module Api class Request include HTTParty attr_reader :url, :headers, :timeout, :api_key def base_setup(path, options={}) @url = set_base(path) @url += format unless options[:format] == 'none' @headers = set_headers unless options[:format] == 'none' @api_key = options[:api_key] @timeout = options.delete(:api_timeout) || Sportradar::Api.config.api_timeout end def get(path, options={}) base_setup(path, options) puts url results = self.class.get(url, headers: headers, query: options.merge(api_key), timeout: timeout) rescue Net::ReadTimeout, Net::OpenTimeout raise Sportradar::Api::Error::Timeout rescue EOFError raise Sportradar::Api::Error::NoData end private def set_base(path) protocol = !!Sportradar::Api.config.use_ssl ? "https://" : "http://" url = "#{protocol}api.sportradar.us" url += path end def date_path(date) "#{date.year}/#{date.month}/#{date.day}" end def week_path(year, season, week) "#{ year }/#{ season }/#{ week }" end def format ".#{Sportradar::Api.config.format}" if Sportradar::Api.config.format end def set_headers {'Content-Type' => "application/#{Sportradar::Api.config.format}", 'Accept' => "application/#{Sportradar::Api.config.format}"} end def api_key raise Sportradar::Api::Error::NoApiKey end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sportradar-api-0.1.2 | lib/sportradar/api/request.rb |