def top_artists(limit: 20, offset: 0, time_range: 'medium_term')
      url = "me/top/artists?limit=#{limit}&offset=#{offset}&time_range=#{time_range}"
      response = User.oauth_get(@id, url)
      return response if RSpotify.raw_response
      response['items'].map { |i| Artist.new i }
    end
def top_artists(limit: 20, offset: 0, time_range: 'medium_term')
      url = "me/top/artists?limit=#{limit}&offset=#{offset}&time_range=#{time_range}"
      response = User.oauth_get(@id, url)
      return response if RSpotify.raw_response
      response['items'].map { |i| Artist.new i }
    end
Get the current user’s top artists based on calculated affinity. Requires the *user-top-read* scope.

 @param limit  [Integer] Optional. The number of entities to return. Default: 20. Minimum: 1. Maximum: 50.
 @param offset [Integer] Optional. The index of the first entity to return. Default: 0 (i.e., the first track). Use with limit to get the next set of entities.
 @param time_range [String] Optional. Over what time frame the affinities are computed. Valid values: long_term (calculated from several years of data and including all new data as it becomes available), medium_term (approximately last 6 months), short_term (approximately last 4 weeks). Default: medium_term.
 @return [Array<Artist>]

 @example
           top_artists = user.top_artists
           top_artists.size       #=> 20
           top_artists.first.name #=> "Nine Inch Nails"