Class: Sportradar::Mlb::Models::AtBat
- Inherits:
-
Object
- Object
- Sportradar::Mlb::Models::AtBat
- Defined in:
- lib/sportradar/mlb/models/at_bat.rb
Class Method Summary collapse
Instance Method Summary collapse
- #description ⇒ Object
- #events ⇒ Object
- #game_id ⇒ Object
- #half ⇒ Object
- #hitter_id ⇒ Object
- #id ⇒ Object
-
#initialize(attributes: {}) ⇒ AtBat
constructor
A new instance of AtBat.
- #inning ⇒ Object
- #number ⇒ Object
- #sequence ⇒ Object
- #time_code ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(attributes: {}) ⇒ AtBat
Returns a new instance of AtBat.
5 6 7 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 5 def initialize(attributes: {}) @attributes = attributes end |
Class Method Details
.from_innings(game_id:, innings:) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 53 def self.from_innings(game_id:, innings:) [].tap do |at_bats| innings.each do |inning| (inning['halfs'] || []).each do |halfs| (halfs['events'] || []).each do |event| if event.has_key?('at_bat') at_bats << new(attributes: (event['at_bat'] || {}). merge('game_id' => game_id). merge('time_code' => { 'number' => inning['number'], 'inning' => inning['sequence'], 'half' => halfs['half'], 'sequence' => inning['sequence'] })) end end end end end end |
Instance Method Details
#description ⇒ Object
13 14 15 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 13 def description attributes['description'] || '' end |
#events ⇒ Object
17 18 19 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 17 def events attributes['events'] || [] end |
#game_id ⇒ Object
21 22 23 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 21 def game_id attributes['game_id'] end |
#half ⇒ Object
37 38 39 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 37 def half time_code['half'] || '' end |
#hitter_id ⇒ Object
25 26 27 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 25 def hitter_id attributes['hitter_id'] end |
#id ⇒ Object
29 30 31 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 29 def id attributes['id'] end |
#inning ⇒ Object
41 42 43 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 41 def inning time_code['inning'] || 0 end |
#number ⇒ Object
45 46 47 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 45 def number time_code['number'] || 0 end |
#sequence ⇒ Object
49 50 51 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 49 def sequence time_code['sequence'] || 0 end |
#time_code ⇒ Object
33 34 35 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 33 def time_code attributes['time_code'] end |
#to_s ⇒ Object
9 10 11 |
# File 'lib/sportradar/mlb/models/at_bat.rb', line 9 def to_s "#{half} of #{inning}: #{description}" end |