Sha256: 01a7f436a1990c27ebe78f227fca1c59a10bf5c5157902fc1c6105506a775afc

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

module Sportradar
  module Api
    module Football
      class Ncaafb
        class Drive < Sportradar::Api::Football::Drive

          alias :team_id :team

          def end_reason
            plays.last.parsed_ending || 'UNKNOWN'
          end

          def over?
            plays.last&.parsed_ending || (overtime? && ['End of Quarter', 'End of Game'].include?(plays.last&.description))
          end

          def handle_plays_and_events(data, **opts)
            create_data(@plays_hash,  data['actions'],  klass: Play,  api: api, drive: self) if data['actions']
            create_data(@events_hash, data['events'],   klass: Event, api: api, drive: self) if data['events']
          end

          def play_count
            plays.count(&:counted_play?)
          end

          def gain
            Array(plays.select(&:counted_play?)).sum do |play|
              Array(play.statistics.pass).map(&:yards).inject(:+).to_i + Array(play.statistics.rush).map(&:yards).inject(:+).to_i
            end
          end

        end
      end
    end
  end
end
# e = Event.find 17632;
# sc = e.sportconnector_game;
# dr = sc.pbp[-3]
# pl = dr.plays.last

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sportradar-api-0.11.33 lib/sportradar/api/football/ncaafb/drive.rb