class Sportradar::Mlb::Models::ScoringPlay

Attributes

event[R]
game_id[R]
team_id[R]

Public Class Methods

new(game_id:, team_id:, event:) click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 5
def initialize(game_id:, team_id:, event:)
  @game_id = game_id
  @team_id = team_id
  @event = event
end

Public Instance Methods

conversion() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 116
def conversion
end
conversion_points() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 119
def conversion_points
  0
end
empty_net() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 112
def empty_net
  false
end
hitter_id() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 15
def hitter_id
  event['hitter_id']
end
hitter_outcome() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 19
def hitter_outcome
  event['hitter_outcome'] || 'NA'
end
hitter_role() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 135
def hitter_role
  {
    player_id: hitter_id,
    player_info: nil,
    role: 'hitter',
  }
end
id() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 11
def id
  event['id']
end
inning() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 23
def inning
  event['inning']
end
inning_half() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 31
def inning_half
  event['inning_half']
end
inning_half_label() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 35
def inning_half_label
  case inning_half
  when 'B'
    'Bottom of'
  when 'T'
    'Top of'
  else
    ''
  end
end
inning_label() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 46
def inning_label
  if inning
    "#{inning_half_label} #{ordinal_inning}"
  end
end
ordinal_inning() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 27
def ordinal_inning
  ActiveSupport::Inflector.ordinalize(inning)
end
period_number() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 74
def period_number
  inning
end
period_seconds() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 108
def period_seconds
  0
end
pitch?() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 70
def pitch?
  play_type == 'pitch'
end
pitcher_id() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 52
def pitcher_id
  event['pitcher_id']
end
pitcher_role() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 127
def pitcher_role
  {
    player_id: pitcher_id,
    player_info: nil,
    role: 'pitcher',
  }
end
play_type() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 66
def play_type
  event['type']
end
points() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 78
def points
  runners.count
end
runner_ids() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 62
def runner_ids
  (runners || []).map(&:id)
end
runner_roles() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 143
def runner_roles
  runners.map do |runner|
    {
      player_id: runner.id,
      player_info: runner,
      role: 'runner',
    }
  end
end
runners() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 56
def runners
  (event['runners'] || []).map do |runner|
    Runner.new(runner: runner)
  end
end
scored_at() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 82
def scored_at
end
scoring_conversion() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 85
def scoring_conversion
end
scoring_conversion_points() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 88
def scoring_conversion_points
end
scoring_how() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 96
def scoring_how
  play_type
end
scoring_method() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 91
def scoring_method
  PitchOutcome.new(outcome: hitter_outcome).
    to_s
end
scoring_players() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 153
def scoring_players
  [
    pitcher_role,
    hitter_role,
    runner_roles,
  ].compact.
    flatten
end
scoring_type() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 100
def scoring_type
  hitter_outcome
end
time_code() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 104
def time_code
  "#{inning_half}#{inning}"
end
yards() click to toggle source
# File lib/sportradar/mlb/models/scoring_play.rb, line 123
def yards
  0
end