def tracks(limit: 100, offset: 0, market: nil)
      last_track = offset + limit - 1
      if @tracks_cache && last_track < 100 && !RSpotify.raw_response
        return @tracks_cache[offset..last_track]
      end

      url = "#{@href}/tracks?limit=#{limit}&offset=#{offset}"
      url << "&market=#{market}" if market
      response = RSpotify.resolve_auth_request(@owner.id, url)

      json = RSpotify.raw_response ? JSON.parse(response) : response
      tracks = json['items'].select { |i| i['track'] }

      @tracks_added_at = hash_for(tracks, 'added_at') do |added_at|
        Time.parse added_at
      end

      @tracks_added_by = hash_for(tracks, 'added_by') do |added_by|
        User.new added_by
      end

      @tracks_is_local = hash_for(tracks, 'is_local') do |is_local|
        is_local
      end

      tracks.map! { |t| Track.new t['track'] }
      @tracks_cache = tracks if limit == 100 && offset == 0
      return response if RSpotify.raw_response
      tracks
    end
def tracks(limit: 100, offset: 0, market: nil)
      last_track = offset + limit - 1
      if @tracks_cache && last_track < 100 && !RSpotify.raw_response
        return @tracks_cache[offset..last_track]
      end

      url = "#{@href}/tracks?limit=#{limit}&offset=#{offset}"
      url << "&market=#{market}" if market
      response = RSpotify.resolve_auth_request(@owner.id, url)

      json = RSpotify.raw_response ? JSON.parse(response) : response
      tracks = json['items'].select { |i| i['track'] }

      @tracks_added_at = hash_for(tracks, 'added_at') do |added_at|
        Time.parse added_at
      end

      @tracks_added_by = hash_for(tracks, 'added_by') do |added_by|
        User.new added_by
      end

      @tracks_is_local = hash_for(tracks, 'is_local') do |is_local|
        is_local
      end

      tracks.map! { |t| Track.new t['track'] }
      @tracks_cache = tracks if limit == 100 && offset == 0
      return response if RSpotify.raw_response
      tracks
    end
Returns array of tracks from the playlist

 @param limit  [Integer] Maximum number of tracks to return. Maximum: 100. Default: 100.
 @param offset [Integer] The index of the first track to return. Use with limit to get the next set of objects. Default: 0.
 @param market [String] Optional. An {https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 country code}. Provide this parameter if you want to apply Track Relinking
 @return [Array<Track>]

 @example
           playlist = RSpotify::Playlist.find('wizzler', '00wHcTN0zQiun4xri9pmvX')
           playlist.tracks.first.name #=> "Main Theme from Star Wars - Instrumental"