Sha256: 0af6341502ede9b36c5ca0ac97761b2d6f793ff91a6459c3ec22d69699e8b4e1

Contents?: true

Size: 1.93 KB

Versions: 5

Compression:

Stored size: 1.93 KB

Contents

module SportsDataApi
  module Nfl
    class Game
      attr_reader :id, :scheduled, :home, :home_team, :away,
        :away_team, :status, :quarter, :clock, :venue, :broadcast, :weather,
        :year, :season, :week

      def initialize(year, season, week, game_hash)
        @year = year
        @season = season
        @week = week

        @id = game_hash['id']
        @scheduled = Time.parse game_hash['scheduled']
        @home = game_hash['home'] || game_hash['home_team']['id']
        @away = game_hash['away'] || game_hash['away_team']['id']
        @status = game_hash['status']
        @quarter = game_hash['quarter'].to_i
        @clock = game_hash['clock']

        @home_team = Team.new(game_hash['home_team'])
        @away_team = Team.new(game_hash['away_team'])
        @venue = Venue.new(game_hash['venue'])
        @broadcast = Broadcast.new(game_hash['broadcast'])
        @weather = Weather.new(game_hash['weather'])
      end

      ##
      # Wrapper for Nfl.statistics
      def statistics
        Nfl.game_statistics(year, season, week, home, away, 1)
      end

      ##
      # Wrapper for Nfl.summary
      # TODO
      def summary
        raise NotImplementedError
      end

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

      ##
      # Wrapper for Nfl.boxscore these helper methods are used
      # to provide similar functionality as the links attribute
      # found in the weekly schedule example.
      def boxscore
        Nfl.boxscore(year, season, week, home, away, 1)
      end

      ##
      # Wrapper for Nfl.roster
      # TODO
      def roster
        raise NotImplementedError
      end

      ##
      # Wrapper for Nfl.injuries
      # TODO
      def injuries
        raise NotImplementedError
      end

      ##
      # Wrapper for Nfl.depthchart
      # TODO
      def depthchart
        raise NotImplementedError
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sports_data_api-0.2.4 lib/sports_data_api/nfl/game.rb
sports_data_api-0.2.3 lib/sports_data_api/nfl/game.rb
sports_data_api-0.2.2 lib/sports_data_api/nfl/game.rb
sports_data_api-0.2.1 lib/sports_data_api/nfl/game.rb
sports_data_api-0.2.0 lib/sports_data_api/nfl/game.rb