Sha256: 16feb320654de8d01aec4357f7c41d5ee81b74213197636c379f60ce7ecde4fe

Contents?: true

Size: 668 Bytes

Versions: 1

Compression:

Stored size: 668 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 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

1 entries across 1 versions & 1 rubygems

Version Path
sports_data_api-0.11.0 lib/sports_data_api/mlb/team.rb