Class: MLB::Players

Inherits:
Shale::Mapper
  • Object
show all
Defined in:
lib/mlb/players.rb

Class Method Summary collapse

Class Method Details

.all(season: Time.now.year, sport: Sport.new(id: 1)) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/mlb/players.rb', line 16

def self.all(season: Time.now.year, sport: Sport.new(id: 1))
  sport_id = sport.respond_to?(:id) ? sport.id : sport
  params = {season:}
  query_string = URI.encode_www_form(params)
  response = CLIENT.get("sports/#{sport_id}/players?#{query_string}")
  players = from_json(response)
  players.players
end

.find(player) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/mlb/players.rb', line 25

def self.find(player)
  player_id = player.respond_to?(:id) ? player.id : player
  params = {personIds: player_id}
  query_string = URI.encode_www_form(params)
  response = CLIENT.get("people?#{query_string}")
  players = from_json(response)
  players.players.first
end

.find_all(*players) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/mlb/players.rb', line 34

def self.find_all(*players)
  return all if players.empty?

  player_ids = players.map { |player| player.respond_to?(:id) ? player.id : player }.join(",")
  params = {personIds: player_ids}
  query_string = URI.encode_www_form(params)
  response = CLIENT.get("people?#{query_string}")
  players = from_json(response)
  players.players
end