Class: Sportradar::Mlb::Parsers::ScoringPlaysParser

Inherits:
Object
  • Object
show all
Defined in:
lib/sportradar/mlb/parsers/scoring_plays_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(game_boxscore: {}) ⇒ ScoringPlaysParser

Returns a new instance of ScoringPlaysParser.



5
6
7
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 5

def initialize(game_boxscore: {})
  @game_boxscore = game_boxscore['game'] || game_boxscore
end

Instance Method Details

#allObject



55
56
57
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 55

def all
  away_team_plays + home_team_plays
end

#awayObject



13
14
15
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 13

def away
  game_boxscore['away'] || {}
end

#away_eventsObject



29
30
31
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 29

def away_events
  away['events'] || []
end

#away_team_hitter_idsObject



59
60
61
62
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 59

def away_team_hitter_ids
  away_team_plays.map(&:hitter_id).
    uniq
end

#away_team_idObject



17
18
19
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 17

def away_team_id
  away['id']
end

#away_team_pitcher_idsObject



69
70
71
72
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 69

def away_team_pitcher_ids
  away_team_plays.map(&:pitcher_id).
    uniq
end

#away_team_playsObject



41
42
43
44
45
46
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 41

def away_team_plays
  away_events.map do |event|
    build_scoring_play(team_id: away_team_id,
                       event: event)
  end
end

#away_team_runner_idsObject



79
80
81
82
83
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 79

def away_team_runner_ids
  away_team_plays.map(&:runner_ids).
    flatten.
    uniq
end

#eventsObject



37
38
39
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 37

def events
  away_events + home_events
end

#firstObject



105
106
107
108
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 105

def first
  all.
    first
end

#game_idObject



9
10
11
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 9

def game_id
  game_boxscore['id']
end

#hitter_idsObject



95
96
97
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 95

def hitter_ids
  all.map(&:hitter_id)
end

#homeObject



21
22
23
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 21

def home
  game_boxscore['home'] || {}
end

#home_eventsObject



33
34
35
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 33

def home_events
  home['events'] || []
end

#home_team_hitter_idsObject



64
65
66
67
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 64

def home_team_hitter_ids
  home_team_plays.map(&:pitcher_id).
    uniq
end

#home_team_idObject



25
26
27
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 25

def home_team_id
  home['id']
end

#home_team_pitcher_idsObject



74
75
76
77
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 74

def home_team_pitcher_ids
  home_team_plays.map(&:pitcher_id).
    uniq
end

#home_team_playsObject



48
49
50
51
52
53
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 48

def home_team_plays
  home_events.map do |event|
    build_scoring_play(team_id: home_team_id,
                       event: event)
  end
end

#home_team_runner_idsObject



85
86
87
88
89
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 85

def home_team_runner_ids
  home_team_plays.map(&:runner_ids).
    flatten.
    uniq
end

#lastObject



110
111
112
113
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 110

def last
  all.
    last
end

#pitcher_idsObject



91
92
93
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 91

def pitcher_ids
  all.map(&:pitcher_id)
end

#runner_idsObject



99
100
101
102
103
# File 'lib/sportradar/mlb/parsers/scoring_plays_parser.rb', line 99

def runner_ids
  all.map(&:runner_ids).
    flatten.
    uniq
end