class ScoreScraper::Scraper
Attributes
search_date[R]
teams[R]
Public Class Methods
new(search_date = nil, teams = [])
click to toggle source
# File lib/score_scraper/scraper.rb, line 3 def initialize(search_date = nil, teams = []) @teams = teams @search_date = search_date || Time.now.strftime("%Y-%m-%d") end
Public Instance Methods
team_games()
click to toggle source
# File lib/score_scraper/scraper.rb, line 8 def team_games team_games = [] (games || []).each do |game| if teams.empty? || is_team_game?(game) team_games << ScoreScraper::Game.new({ home_team: home_team(game), away_team: away_team(game), game_state: game_state(game) }) end end team_games end
Private Instance Methods
abbreviation(game, is_home = false)
click to toggle source
# File lib/score_scraper/scraper.rb, line 47 def abbreviation(game, is_home = false) raise 'Must be implemented in child class' end
away_team(game)
click to toggle source
# File lib/score_scraper/scraper.rb, line 51 def away_team(game) get_game(game) end
city(game, is_home = false)
click to toggle source
# File lib/score_scraper/scraper.rb, line 55 def city(game, is_home = false) raise 'Must be implemented in child class' end
formatted_url()
click to toggle source
# File lib/score_scraper/scraper.rb, line 39 def formatted_url raise 'Must be implemented in child class' end
game_state(game)
click to toggle source
# File lib/score_scraper/scraper.rb, line 68 def game_state(game) raise 'Must be implemented in child class' end
games()
click to toggle source
# File lib/score_scraper/scraper.rb, line 43 def games raise 'Must be implemented in child class' end
get_game(game, is_home = false)
click to toggle source
# File lib/score_scraper/scraper.rb, line 59 def get_game(game, is_home = false) ScoreScraper::Team.new({ city: city(game, is_home), nickname: nickname(game, is_home), abbreviation: abbreviation(game, is_home), score: score(game, is_home) }) end
home_team(game)
click to toggle source
# File lib/score_scraper/scraper.rb, line 72 def home_team(game) get_game(game, true) end
is_team_game?(game)
click to toggle source
# File lib/score_scraper/scraper.rb, line 84 def is_team_game?(game) teams.include?(abbreviation(game, true).downcase) || teams.include?(abbreviation(game).downcase) end
nickname(game, is_home = false)
click to toggle source
# File lib/score_scraper/scraper.rb, line 76 def nickname(game, is_home = false) raise 'Must be implemented in child class' end
parsed_data()
click to toggle source
# File lib/score_scraper/scraper.rb, line 88 def parsed_data return @parsed_data unless @parsed_data.nil? file = open(formatted_url) file_data = file.read @parsed_data = JSON.parse(file_data) end
score(game, is_home = false)
click to toggle source
# File lib/score_scraper/scraper.rb, line 80 def score(game, is_home = false) raise 'Must be implemented in child class' end
search_day()
click to toggle source
# File lib/score_scraper/scraper.rb, line 27 def search_day @current_day ||= search_date.split('-')[2] end
search_month()
click to toggle source
# File lib/score_scraper/scraper.rb, line 31 def search_month @current_month ||= search_date.split('-')[1] end
search_year()
click to toggle source
# File lib/score_scraper/scraper.rb, line 35 def search_year @current_year ||= search_date.split('-')[0] end