class MySportsFeeds::Api
Public Class Methods
new(username, password, options = {})
click to toggle source
# File lib/mysportsfeeds/api.rb, line 3 def initialize(username, password, options = {}) @username = username @password = password @options = options end
Public Instance Methods
get(url, params = {})
click to toggle source
# File lib/mysportsfeeds/api.rb, line 9 def get(url, params = {}) request = make_request(url, :get, params) response = request.run Response::Success.new(JSON.parse(response.response_body), response.response_code) rescue JSON::ParserError => e Response::Error.new(e.message) end
make_request(url, method, params = {})
click to toggle source
# File lib/mysportsfeeds/api.rb, line 17 def make_request(url, method, params = {}) Typhoeus::Request.new( build_url(url), method: method, params: params, userpwd: "#{@username}:#{@password}", accept_encoding: "gzip", followlocation: true ) end
Private Instance Methods
build_url(url)
click to toggle source
# File lib/mysportsfeeds/api.rb, line 30 def build_url(url) "https://www.mysportsfeeds.com/api/feed/pull/nba/#{season}/#{url}.#{format}" end
force()
click to toggle source
# File lib/mysportsfeeds/api.rb, line 42 def force @force ||= @options.fetch(:force, true) end
format()
click to toggle source
# File lib/mysportsfeeds/api.rb, line 34 def format @format ||= @options.fetch(:format, 'json') end
season()
click to toggle source
# File lib/mysportsfeeds/api.rb, line 38 def season @season ||= @options.fetch(:season) end