module MLBStatsAPI::Teams
Public Instance Methods
affiliates(team_id, season: nil)
click to toggle source
# File lib/mlb_stats_api/teams.rb, line 29 def affiliates(team_id, season: nil) get "/teams/#{team_id}/affiliates", season: season end
coaches(team_id, date: nil)
click to toggle source
# File lib/mlb_stats_api/teams.rb, line 33 def coaches(team_id, date: nil) date ||= Date.today get "/teams/#{team_id}/coaches", date: date.strftime('%m/%d/%Y') end
roster(team_id, type:, date: nil)
click to toggle source
def leaders(team_id)
get("/teams/#{team_id}/leaders")
end
# File lib/mlb_stats_api/teams.rb, line 43 def roster(team_id, type:, date: nil) get "/teams/#{team_id}/roster/#{type}", date: date.strftime('%m/%d/%Y') end
team(team_id)
click to toggle source
# File lib/mlb_stats_api/teams.rb, line 5 def team(team_id) data = load("mlb_stats_api:teams:#{team_id}") do get("/teams/#{team_id}", hydrate: 'venue(timezone)').dig('teams', 0) end MLBStatsAPI::Team.new data end
teams(*team_ids)
click to toggle source
# File lib/mlb_stats_api/teams.rb, line 13 def teams(*team_ids) teams = ids = [] team_ids.each do |team_id| value = @cache.load("mlb_stats_api:teams:#{team_id}") if value teams << MLBStatsAPI::Team.new(value) else ids << team_id end end teams.concat load_teams_by_id(ids) end
Protected Instance Methods
load_teams_by_id(ids)
click to toggle source
# File lib/mlb_stats_api/teams.rb, line 49 def load_teams_by_id(ids) return [] if ids.none? get('/teams', teamId: ids.join(','), hydrate: 'venue(timezone)') .dig('teams') .map do |data| @cache.store("mlb_stats_api:teams:#{data['id']}", data) MLBStatsAPI::Team.new(data) end end