Sha256: 2358cf7c345187fc3ded30f383b802a441b38a6c3b8dd7b03ad0ca7aa9600cf6

Contents?: true

Size: 864 Bytes

Versions: 11

Compression:

Stored size: 864 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_model :starting_pitcher, Player
      end

      def probable_pitcher
        @probable_pitcher ||= populate_model :probable_pitcher, Player
      end

      def scoring
        @scoring ||= populate_model :scoring, Scoring
      end

      private

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

      def populate_model(key, klass)
        klass.new(team[key]) if team.has_key?(key)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
sports_data_api-0.15.3 lib/sports_data_api/mlb/team.rb
sports_data_api-0.15.2 lib/sports_data_api/mlb/team.rb
sports_data_api-0.15.1 lib/sports_data_api/mlb/team.rb
sports_data_api-0.15.0 lib/sports_data_api/mlb/team.rb
sports_data_api-0.14.1 lib/sports_data_api/mlb/team.rb
sports_data_api-0.14.0 lib/sports_data_api/mlb/team.rb
sports_data_api-0.13.0 lib/sports_data_api/mlb/team.rb
sports_data_api-0.12.1 lib/sports_data_api/mlb/team.rb
sports_data_api-0.12.0 lib/sports_data_api/mlb/team.rb
sports_data_api-0.11.6 lib/sports_data_api/mlb/team.rb
sports_data_api-0.11.5 lib/sports_data_api/mlb/team.rb