beneggett/sportradar-api

View on GitHub
lib/sportradar/api/basketball/venue.rb

Summary

Maintainability
A
50 mins
Test Coverage
module Sportradar
  module Api
    module Basketball
      class Venue < Data
        attr_accessor :response, :id, :name, :address, :city, :state, :country, :zip, :capacity, :timezone
        @all_hash = {}
        def self.new(data, **opts)
          existing = @all_hash[data['id']]
          if existing
            existing.update(data, **opts)
            existing
          else
            @all_hash[data['id']] = super
          end
        end
        def self.all
          @all_hash.values
        end

        def initialize(data, **opts)
          @response = data
          @id       = data["id"]

          update(data, **opts)
        end
        def update(data, **opts)
          @name     = data['name']
          @address  = data['address']
          @city     = data['city']
          @state    = data['state']
          @zip      = data['zip']
          @country  = data['country']
          @capacity = data['capacity']
          @timezone = data['timezone']
        end

        def location
          "#{name}, #{city}"
        end

        KEYS_SCHEDULE = ["id", "name", "capacity", "address", "city", "state", "zip", "country"]
      end
    end
  end
end

__END__

sr = Sportradar::Api::Nba.new
lh = sr.league_hierarchy;
t = lh.teams.first;
t.venue.id
t.venue.name
t.venue.city