Sha256: 3eb6713b8218878d1b217745083b78ba7a72c726220945d7398c1b1404036286

Contents?: true

Size: 1.56 KB

Versions: 50

Compression:

Stored size: 1.56 KB

Contents

module Sportradar
  module Api
    module Basketball
      class Nba
        class Quarter < Data
          attr_accessor :response, :id, :game, :number, :sequence, :home_points, :away_points, :drives
          # @all_hash = {}
          # def self.new(data, **opts)
          #   existing = @all_hash[data['id']]
          #   if existing
          #     existing.update(data, **opts)
          #     existing
          #   else
          #     @all_hash[data['id']] = super
          #   end
          # end
          # def self.all
          #   @all_hash.values
          # end

          def initialize(data, **opts)
            @response = data
            @api      = opts[:api]
            # @game     = opts[:game]

            @id       = response["id"]
            @number   = response['number']
            @sequence = response['sequence']

            @plays_hash = {}

            update(data)
          end
          def update(data, **opts)
            create_data(@plays_hash, data.dig('events'), klass: Play, api: @api, quarter: self)
          end

          def plays_by_type(play_type, *types)
            if types.empty?
              plays.grep(Play.subclass(play_type.delete('_')))
            else
              play_classes = [play_type, *types].map { |type| Play.subclass(type.delete('_')) }
              plays.select { |play| play_classes.any? { |klass| play.kind_of?(klass) } }
            end
          end

          def plays
            @plays_hash.values
          end
          alias :events :plays

          private

        end
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
sportradar-api-0.17.1 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.17.0 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.17.0.pre lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.16.1 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.16.0 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.15.1 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.15.0 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.14.0 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.26 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.25 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.24 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.23 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.22 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.21 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.20 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.19 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.18 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.17 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.16 lib/sportradar/api/basketball/nba/quarter.rb
sportradar-api-0.13.15 lib/sportradar/api/basketball/nba/quarter.rb