Sha256: 225ef0f5db3d6b51a9ba42455ad0b414c11245d96d7dc76513184d61a2622216

Contents?: true

Size: 1.17 KB

Versions: 125

Compression:

Stored size: 1.17 KB

Contents

module Sportradar
  module Api
    module Basketball
      class Nba
        class Hierarchy < Data
          attr_accessor :response, :id, :name, :alias
          def all_attributes
            [:name, :alias, :conferences, :divisions, :teams]
          end

          def initialize(data, **opts)
            @response = data
            @api      = opts[:api]

            @id = data.dig('league', "id")
            @name = data.dig('league', "name")
            @alias = data.dig('league', "alias")
            @season = Season.new(data['season']) if data['season']
            @conferences_hash = create_data({}, data['conferences'], klass: Conference, hierarchy: self, api: @api)
          end
          def conferences
            @conferences_hash.values
          end
          def divisions
            conferences.flat_map(&:divisions)
          end
          def teams
            divisions.flat_map(&:teams)
          end

          def api
            @api || Sportradar::Api::Basketball::Nba.new
          end

        end
      end
    end
  end
end

__END__

st = sr.standings;
sr = Sportradar::Api::Basketball::Nba.new
lh = sr.league_hierarchy;
t = lh.teams.first;
t.venue.id

Version data entries

125 entries across 125 versions & 1 rubygems

Version Path
sportradar-api-0.10.4 lib/sportradar/api/basketball/nba/hierarchy.rb
sportradar-api-0.10.3 lib/sportradar/api/basketball/nba/hierarchy.rb
sportradar-api-0.10.2 lib/sportradar/api/basketball/nba/hierarchy.rb
sportradar-api-0.10.1 lib/sportradar/api/basketball/nba/hierarchy.rb
sportradar-api-0.10.0 lib/sportradar/api/basketball/nba/hierarchy.rb