Class: Sportradar::Mlb::Models::ScoringPlay
- Inherits:
-
Object
- Object
- Sportradar::Mlb::Models::ScoringPlay
- Defined in:
- lib/sportradar/mlb/models/scoring_play.rb
Instance Attribute Summary collapse
-
#event ⇒ Object
readonly
Returns the value of attribute event.
-
#game_id ⇒ Object
readonly
Returns the value of attribute game_id.
-
#team_id ⇒ Object
readonly
Returns the value of attribute team_id.
Instance Method Summary collapse
- #conversion ⇒ Object
- #conversion_points ⇒ Object
- #empty_net ⇒ Object
- #hitter_id ⇒ Object
- #hitter_outcome ⇒ Object
- #hitter_role ⇒ Object
- #id ⇒ Object
-
#initialize(game_id:, team_id:, event:) ⇒ ScoringPlay
constructor
A new instance of ScoringPlay.
- #inning ⇒ Object
- #inning_half ⇒ Object
- #inning_half_label ⇒ Object
- #inning_label ⇒ Object
- #ordinal_inning ⇒ Object
- #period_number ⇒ Object
- #period_seconds ⇒ Object
- #pitch? ⇒ Boolean
- #pitcher_id ⇒ Object
- #pitcher_role ⇒ Object
- #play_type ⇒ Object
- #points ⇒ Object
- #runner_ids ⇒ Object
- #runner_roles ⇒ Object
- #runners ⇒ Object
- #scored_at ⇒ Object
- #scoring_conversion ⇒ Object
- #scoring_conversion_points ⇒ Object
- #scoring_how ⇒ Object
- #scoring_method ⇒ Object
- #scoring_players ⇒ Object
- #scoring_type ⇒ Object
- #time_code ⇒ Object
- #yards ⇒ Object
Constructor Details
#initialize(game_id:, team_id:, event:) ⇒ ScoringPlay
Returns a new instance of ScoringPlay.
5 6 7 8 9 |
# 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 |
Instance Attribute Details
#event ⇒ Object (readonly)
Returns the value of attribute event.
162 163 164 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 162 def event @event end |
#game_id ⇒ Object (readonly)
Returns the value of attribute game_id.
162 163 164 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 162 def game_id @game_id end |
#team_id ⇒ Object (readonly)
Returns the value of attribute team_id.
162 163 164 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 162 def team_id @team_id end |
Instance Method Details
#conversion ⇒ Object
116 117 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 116 def conversion end |
#conversion_points ⇒ Object
119 120 121 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 119 def conversion_points 0 end |
#empty_net ⇒ Object
112 113 114 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 112 def empty_net false end |
#hitter_id ⇒ Object
15 16 17 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 15 def hitter_id event['hitter_id'] end |
#hitter_outcome ⇒ Object
19 20 21 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 19 def hitter_outcome event['hitter_outcome'] || 'NA' end |
#hitter_role ⇒ Object
135 136 137 138 139 140 141 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 135 def hitter_role { player_id: hitter_id, player_info: nil, role: 'hitter', } end |
#id ⇒ Object
11 12 13 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 11 def id event['id'] end |
#inning ⇒ Object
23 24 25 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 23 def inning event['inning'] end |
#inning_half ⇒ Object
31 32 33 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 31 def inning_half event['inning_half'] end |
#inning_half_label ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# 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 ⇒ Object
46 47 48 49 50 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 46 def inning_label if inning "#{inning_half_label} #{ordinal_inning}" end end |
#ordinal_inning ⇒ Object
27 28 29 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 27 def ordinal_inning ActiveSupport::Inflector.ordinalize(inning) end |
#period_number ⇒ Object
74 75 76 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 74 def period_number inning end |
#period_seconds ⇒ Object
108 109 110 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 108 def period_seconds 0 end |
#pitch? ⇒ Boolean
70 71 72 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 70 def pitch? play_type == 'pitch' end |
#pitcher_id ⇒ Object
52 53 54 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 52 def pitcher_id event['pitcher_id'] end |
#pitcher_role ⇒ Object
127 128 129 130 131 132 133 |
# 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 ⇒ Object
66 67 68 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 66 def play_type event['type'] end |
#points ⇒ Object
78 79 80 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 78 def points runners.count end |
#runner_ids ⇒ Object
62 63 64 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 62 def runner_ids (runners || []).map(&:id) end |
#runner_roles ⇒ Object
143 144 145 146 147 148 149 150 151 |
# 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 ⇒ Object
56 57 58 59 60 |
# 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 ⇒ Object
82 83 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 82 def scored_at end |
#scoring_conversion ⇒ Object
85 86 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 85 def scoring_conversion end |
#scoring_conversion_points ⇒ Object
88 89 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 88 def scoring_conversion_points end |
#scoring_how ⇒ Object
96 97 98 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 96 def scoring_how play_type end |
#scoring_method ⇒ Object
91 92 93 94 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 91 def scoring_method PitchOutcome.new(outcome: hitter_outcome). to_s end |
#scoring_players ⇒ Object
153 154 155 156 157 158 159 160 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 153 def scoring_players [ pitcher_role, hitter_role, runner_roles, ].compact. flatten end |
#scoring_type ⇒ Object
100 101 102 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 100 def scoring_type hitter_outcome end |
#time_code ⇒ Object
104 105 106 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 104 def time_code "#{inning_half}#{inning}" end |
#yards ⇒ Object
123 124 125 |
# File 'lib/sportradar/mlb/models/scoring_play.rb', line 123 def yards 0 end |