Sha256: 04fae5485763f75ac91628e3fdceb89f694ec622b6b147feadd30d374aedc63a

Contents?: true

Size: 651 Bytes

Versions: 7

Compression:

Stored size: 651 Bytes

Contents

module SportsDataApi
  module Nba
    class Teams
      include Enumerable

      def initialize(json)
        @json = json
      end

      def teams
        @teams ||= json['conferences'].flat_map do |conference|
          conference['divisions'].flat_map do |division|
            division['teams'].map do |json|
              Team.new(json, conference['alias'], division['alias'])
            end
          end
        end
      end

      ##
      # Make the class Enumerable
      def each
        return teams.each unless block_given?
        teams.each { |team| yield team }
      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/teams.rb
sports_data_api-0.15.0 lib/sports_data_api/nba/teams.rb
sports_data_api-0.14.1 lib/sports_data_api/nba/teams.rb
sports_data_api-0.14.0 lib/sports_data_api/nba/teams.rb
sports_data_api-0.13.0 lib/sports_data_api/nba/teams.rb
sports_data_api-0.12.1 lib/sports_data_api/nba/teams.rb
sports_data_api-0.12.0 lib/sports_data_api/nba/teams.rb