Sha256: 0f26dcc1a04144fc7dd9b40d6031fad28ef590c44de30e28dbcbb7fb1d826bcc

Contents?: true

Size: 1.52 KB

Versions: 9

Compression:

Stored size: 1.52 KB

Contents

module SportsDataApi
  module Nba
    class Game
      attr_reader :id, :status, :year, :season, :clock

      def initialize(json:, year: nil, season: nil)
        @json = json
        @year = year
        @season = season
        @id = json['id']
        @status = json['status']
        @clock = json['clock']
      end

      def scheduled
        @scheduled ||= Time.iso8601 json['scheduled']
      end

      def home_team_id
        json['home']['id']
      end

      def away_team_id
        json['away']['id']
      end

      def home_team
        @home_team ||= Team.new(json['home'])
      end

      def away_team
        @away_team ||= Team.new(json['away'])
      end

      def quarter
        return unless json['quarter']
        json['quarter'].to_i
      end

      def venue
        @venue ||= Venue.new(json['venue'])
      end

      def broadcast
        return nil if json['broadcast'].nil? || json['broadcast'].empty?
        @broadcast ||= Broadcast.new(json['broadcast'])
      end

      ##
      # Wrapper for Nba.game_summary
      # TODO
      def summary
        Nba.game_summary(id)
      end

      ##
      # Wrapper for Nba.pbp (Nba.play_by_play)
      # TODO
      def pbp
        raise NotImplementedError
      end

      ##
      # Wrapper for Nba.boxscore
      # TODO
      def boxscore
        raise NotImplementedError
      end

      private

      attr_reader :json

      def game_summary?
        !team_json.nil?
      end

      def team_json
        @team_json ||= json['team']
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
sports_data_api-0.15.3 lib/sports_data_api/nba/game.rb
sports_data_api-0.15.2 lib/sports_data_api/nba/game.rb
sports_data_api-0.15.1 lib/sports_data_api/nba/game.rb
sports_data_api-0.15.0 lib/sports_data_api/nba/game.rb
sports_data_api-0.14.1 lib/sports_data_api/nba/game.rb
sports_data_api-0.14.0 lib/sports_data_api/nba/game.rb
sports_data_api-0.13.0 lib/sports_data_api/nba/game.rb
sports_data_api-0.12.1 lib/sports_data_api/nba/game.rb
sports_data_api-0.12.0 lib/sports_data_api/nba/game.rb