class Stattleship::Endpoint
Public Class Methods
fetch(path:, params:)
click to toggle source
# File lib/stattleship/endpoint.rb, line 3 def self.fetch(path:, params:) Stattleship::Client.new(path: path, query: params.query). paginate(model: self) end
Public Instance Methods
data()
click to toggle source
# File lib/stattleship/endpoint.rb, line 9 def data @data ||= populate end
populate()
click to toggle source
# File lib/stattleship/endpoint.rb, line 13 def populate raise 'Endpoint subclass must implement populate' end
Private Instance Methods
populate_away_team(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 180 def populate_away_team(model) return if away_teams.nil? model.away_team = away_teams.detect do |away_team| away_team.id == model.away_team_id end end
populate_baseball_pitches(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 19 def populate_baseball_pitches(model) model.pitches = [] return if model.baseball_pitch_ids.nil? return if baseball_pitches.nil? model.baseball_pitch_ids.each do |baseball_pitch_id| model.pitches << baseball_pitches.detect do |baseball_pitch| baseball_pitch.id == baseball_pitch_id end end end
populate_game(game)
click to toggle source
# File lib/stattleship/endpoint.rb, line 121 def populate_game(game) populate_away_team(game) populate_home_team(game) populate_officials(game) populate_winning_team(game) populate_season(game) populate_venue(game) if game && game.season populate_league(game.season) game.league = game.season.league end end
populate_games(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 111 def populate_games(model) return if games.nil? model.game = games.detect do |game| game.id == model.game_id end populate_model_game(model) end
populate_hitter_teams(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 211 def populate_hitter_teams(model) return if hitter_teams.nil? model.hitter_team = hitter_teams.detect do |hitter_team| hitter_team.id == model.hitter_team_id end end
populate_hitters(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 61 def populate_hitters(model) return if hitters.nil? model.hitter = hitters.detect do |hitter| hitter.id == model.hitter_id end end
populate_home_team(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 187 def populate_home_team(model) return if home_teams.nil? model.home_team = home_teams.detect do |home_team| home_team.id == model.home_team_id end end
populate_league(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 168 def populate_league(model) return if leagues.nil? model.league = leagues.detect do |league| league.id == model.league_id end end
populate_model_game(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 135 def populate_model_game(model) populate_season(model.game) populate_venue(model.game) if model.game && model.game.season populate_league(model.game.season) model.game.league = model.game.season.league end if model.game && model.game.league model.league = model.game.league end end
populate_officials(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 32 def populate_officials(model) model.officials = [] return if model.official_ids.nil? return if officials.nil? model.official_ids.each do |official_id| model.officials << officials.detect do |official| official.id == official_id end end end
populate_opponents(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 45 def populate_opponents(model) return if opponents.nil? model.opponent = opponents.detect do |opponent| opponent.id == model.opponent_id end end
populate_pitchers(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 53 def populate_pitchers(model) return if pitchers.nil? model.pitcher = pitchers.detect do |pitcher| pitcher.id == model.pitcher_id end end
populate_player(player)
click to toggle source
# File lib/stattleship/endpoint.rb, line 90 def populate_player(player) populate_player_team(player) end
populate_player_playing_position(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 103 def populate_player_playing_position(model) return if playing_positions.nil? model.playing_position = playing_positions.detect do |playing_position| playing_position.id == model.player.playing_position_id end end
populate_player_team(player)
click to toggle source
# File lib/stattleship/endpoint.rb, line 94 def populate_player_team(player) return if player.nil? return if teams.nil? player.team = teams.detect do |team| team.id == player.team_id end end
populate_player_teams(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 77 def populate_player_teams(model) return if teams.nil? || model.player.nil? model.team = teams.detect do |team| team.id == model.player.team_id end if model.player model.player.team = model.team populate_player_playing_position(model.player) end end
populate_players(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 69 def populate_players(model) return if players.nil? model.player = players.detect do |player| player.id == model.player_id end end
populate_scoring_players(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 227 def populate_scoring_players(model) model.scoring_players = [] return if scoring_players.nil? model.scoring_player_ids.each do |scoring_player_id| model.scoring_players << scoring_players.detect do |scoring_player| scoring_player.id == scoring_player_id end end model.scoring_players.each do |scoring_player| scoring_player.player = players.detect do |player| player.id == scoring_player.player_id end end end
populate_season(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 149 def populate_season(model) return if seasons.nil? model.season = seasons.detect do |season| season.id == model.season_id end end
populate_season_league(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 157 def populate_season_league(model) return if leagues.nil? return if model.season.nil? model.season.league = leagues.detect do |league| league.id == model.season.league_id end model.league = model.season.league end
populate_team(team)
click to toggle source
# File lib/stattleship/endpoint.rb, line 176 def populate_team(team) populate_league(team) end
populate_teams(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 203 def populate_teams(model) return if teams.nil? model.team = teams.detect do |team| team.id == model.team_id end end
populate_venue(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 219 def populate_venue(model) return if venues.nil? model.venue = venues.detect do |venue| venue.id == model.venue_id end end
populate_winning_team(model)
click to toggle source
# File lib/stattleship/endpoint.rb, line 195 def populate_winning_team(model) return if winning_teams.nil? model.winning_team = winning_teams.detect do |winning_team| winning_team.id == model.winning_team_id end end