beneggett/sportradar-api

View on GitHub
lib/sportradar/api/football/quarter.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Sportradar
  module Api
    module Football
      class Quarter < Data
        attr_accessor :response, :api, :id, :number, :sequence, :home_points, :away_points, :scoring

        def initialize(data, **opts)
          @response = data
          @id = data[self.class.period_index]
          @api = opts[:api]

          @drives_hash = {}

          update(data, **opts)
        end

        def update(data, **opts)
          @number       = data["number"]
          @sequence     = data["sequence"]
          @home_points  = data["home_points"]
          @away_points  = data["away_points"]

          @home_info = data["home"]
          @away_info = data["away"]

          if data['pbp']
            opts[:game].update_drives(data['pbp'], quarter: self)
            create_data(@drives_hash, data['pbp'], klass: drive_class, api: api, quarter: self)
          end

          self
        end

        def overtime?
          (@sequence || @number) > 4
        end

        def drives
          @drives_hash.values
        end

        def drive_class
          Drive
        end

      end
    end
  end
end