class Sportradar::Nfl::Parsers::BoxscoreParser
Attributes
json[R]
Public Class Methods
new(json: {})
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 5 def initialize(json: {}) @json = json['game'] || json end
Public Instance Methods
away_team_id()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 81 def away_team_id away_team_json['id'] end
away_team_json()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 77 def away_team_json json['away_team'] || {} end
away_team_scoring()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 89 def away_team_scoring { points: away_team_json['points'], remaining_challenges: away_team_json['remaining_challenges'], remaining_timeouts: away_team_json['remaining_timeouts'], }.merge(away_team_scoring_quarters). compact end
away_team_scoring_data()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 85 def away_team_scoring_data away_team_json['scoring'] || {} end
away_team_scoring_quarters()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 98 def away_team_scoring_quarters team_scoring_quarters(data: away_team_scoring_data) end
clock()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 17 def clock json['clock'] end
clock_attributes()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 29 def clock_attributes { clock: clock, clock_secs: clock_secs, period: quarter, ended_at: completed, status: status, }.compact end
clock_secs()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 39 def clock_secs begin if clock && clock.include?(':') mins, secs = clock.split(':').map(&:to_i) Time.parse("00:#{mins}:#{secs}"). seconds_since_midnight.to_i end rescue => e puts e return 0 end end
completed()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 21 def completed json['completed'] && json['completed'].to_datetime end
game_id()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 9 def game_id json['id'] end
home_team_id()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 56 def home_team_id home_team_json['id'] end
home_team_json()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 52 def home_team_json json['home_team'] || {} end
home_team_scoring()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 64 def home_team_scoring { points: home_team_json['points'], remaining_challenges: home_team_json['remaining_challenges'], remaining_timeouts: home_team_json['remaining_timeouts'], }.merge(home_team_scoring_quarters). compact end
home_team_scoring_data()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 60 def home_team_scoring_data home_team_json['scoring'] || {} end
home_team_scoring_quarters()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 73 def home_team_scoring_quarters team_scoring_quarters(data: home_team_scoring_data) end
quarter()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 13 def quarter json['quarter'].to_i end
status()
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 25 def status json['status'] end
team_scoring_quarters(data:)
click to toggle source
# File lib/sportradar/nfl/parsers/boxscore_parser.rb, line 102 def team_scoring_quarters(data:) {}.tap do |scoring_quarters| overtime_points = 0 data.map do |scoring_data| if quarter = scoring_data['quarter'].to_i if quarter > 0 && quarter <= 4 key = "points_quarter_#{quarter}".to_sym scoring_quarters[key] = scoring_data['points'].to_i elsif quarter > 4 key = "points_overtime_#{quarter - 4}".to_sym scoring_quarters[key] = scoring_data['points'].to_i overtime_points += scoring_data['points'].to_i end end end scoring_quarters[:points_overtime] = overtime_points end end