class Grooveshark::Playlist

Playlist class

Attributes

about[R]
id[R]
name[R]
num_songs[R]
picture[R]
songs[R]
user_id[R]
username[R]

Public Class Methods

new(client, data = nil, user_id = nil) click to toggle source
# File lib/grooveshark/playlist.rb, line 9
def initialize(client, data = nil, user_id = nil)
  @client = client
  @songs = []

  return if data.nil?
  @id        = data['playlist_id']
  @name      = data['name']
  @about     = data['about']
  @picture   = data['picture']
  @user_id   = data['user_id'] || user_id
  @username  = data['f_name']
  @num_songs = data['num_songs'].to_i
end

Public Instance Methods

delete() click to toggle source

Delete existing playlist

# File lib/grooveshark/playlist.rb, line 45
def delete
  @client.request('deletePlaylist', playlistID: @id, name: @name)
end
load_songs() click to toggle source

Fetch playlist songs

# File lib/grooveshark/playlist.rb, line 24
def load_songs
  @songs = []
  playlist = @client.request('getPlaylistByID', playlistID: @id)
  @songs = playlist['songs'].map! do |s|
    Song.new(s)
  end if playlist.key?('songs')
  @songs
end
rename(name, description) click to toggle source

Rename playlist

# File lib/grooveshark/playlist.rb, line 34
def rename(name, description)
  @client.request('renamePlaylist', playlistID: @id, playlistName: name)
  @client.request('setPlaylistAbout', playlistID: @id, about: description)
  @name = name
  @about = description
  true
rescue
  false
end