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