Sha256: 51b373c873a85a07a5014dd23ee63654d136d649dd1c8317e69888e74be4dd01

Contents?: true

Size: 762 Bytes

Versions: 3

Compression:

Stored size: 762 Bytes

Contents

module SportsDataApi
  module Mlb
    class Team < SportsDataApi::JsonData
      def players
        @players ||= map_players :players
      end

      def roster
        @rosters ||= map_players :roster
      end

      def expected_players
        @expected_players ||= map_players :expected_players
      end

      def starting_pitcher
        @starting_pitcher ||= populate_player :starting_pitcher
      end

      def probable_pitcher
        @probable_pitcher ||= populate_player :probable_pitcher
      end

      private

      def map_players(key)
        team.fetch(key, []).map do |data|
          Player.new(data)
        end
      end

      def populate_player(key)
        Player.new(team[key]) if team.has_key?(key)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sports_data_api-0.11.3 lib/sports_data_api/mlb/team.rb
sports_data_api-0.11.2 lib/sports_data_api/mlb/team.rb
sports_data_api-0.11.1 lib/sports_data_api/mlb/team.rb