Sha256: 8707ffcee94c11407b66feda50db38ff3eb11f575267922b6aa5c57b5c3a6f04

Contents?: true

Size: 1.46 KB

Versions: 127

Compression:

Stored size: 1.46 KB

Contents

module Sportradar
  module Api
    module Football
      class Ncaafb
        class Conference < Data
          attr_accessor :response, :id, :name, :alias

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

            @id    = data["id"]
            @name  = data["name"]
            @alias = data["alias"] || data["id"]
            @teams_hash = {}
            @subdivisions_hash = {}
            @assigned_teams = nil
            # binding.pry

            create_data(@teams_hash, data["teams"], klass: Team, conference: self, api: @api) if data["teams"]
            create_data(@subdivisions_hash, data["subdivisions"], klass: Subdivision, conference: self, api: @api) if data["subdivisions"]
          end

          def teams
            @assigned_teams || begin
              if !@subdivisions_hash.empty?
                @subdivisions_hash.each_value.flat_map(&:teams)
              elsif !@teams_hash.empty?
                @teams_hash.values
              else
                []
              end
            end
          end
          def teams=(array)
            @assigned_teams = array
          end
          def team(code_name)
            teams_by_name[code_name]
          end
          private def teams_by_name
            @teams_by_name ||= teams.map { |t| [t.alias, t] }.to_h
          end
          def conferences
            teams.flat_map(&:conferences)
          end

        end
      end
    end
  end
end

Version data entries

127 entries across 127 versions & 1 rubygems

Version Path
sportradar-api-0.20.2 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.20.1 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.20.0 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.20.0.pre2 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.20.0.pre lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.6 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.5 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.4 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.3 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.2 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.1 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.19.0 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.18.1 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.18.0 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.6 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.5 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.5.pre lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.4 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.3 lib/sportradar/api/football/ncaafb/conference.rb
sportradar-api-0.17.2 lib/sportradar/api/football/ncaafb/conference.rb