Sha256: 67e4445f55ed36488c4dcdf45ce109bfe1ab1e4c60b46c5de154cb8ea231d49a

Contents?: true

Size: 701 Bytes

Versions: 7

Compression:

Stored size: 701 Bytes

Contents

module SportsDataApi
  module Nba
    class Season
      attr_reader :id, :year, :type

      def initialize(json)
        @json = json
        @id = json['season']['id']
        @year = json['season']['year']
        @type = json['season']['type'].to_sym
      end

      def games
        @games ||= json['games'].map do |game_json|
          Game.new(year: year, season: type, json: game_json)
        end
      end

      ##
      # Check if the requested season is a valid
      # NBA season type.
      #
      # The only valid types are: :pre, :reg, :pst
      def self.valid?(season)
        %i[PRE REG PST].include?(season)
      end

      private

      attr_reader :json
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

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