class Grooveshark::Song

Song class

Attributes

album[R]
album_id[R]
artist[R]
artist_id[R]
artwork[R]
data[R]
duration[R]
id[R]
name[R]
playcount[R]
track[R]
year[R]

Public Class Methods

new(data = nil) click to toggle source
# File lib/grooveshark/song.rb, line 10
def initialize(data = nil)
  return if data.nil?

  @data       = data
  @id         = data['song_id']
  @name       = data['song_name'] || data['name']
  @artist     = data['artist_name']
  @artist_id  = data['artist_id']
  @album      = data['album_name']
  @album_id   = data['album_id']
  @track      = data['track_num']
  @duration   = data['estimate_duration']
  @artwork    = data['cover_art_filename']
  @playcount  = data['song_plays']
  @year       = data['year']
end

Public Instance Methods

to_hash() click to toggle source

Hash export for API usage

# File lib/grooveshark/song.rb, line 33
def to_hash
  {
    'songID'      => @id,
    'songName'    => @name,
    'artistName'  => @artist,
    'artistID'    => @artist_id,
    'albumName'   => @album,
    'albumID'     => @album_id,
    'track'       => @track
  }
end
to_s() click to toggle source

Presentable format

# File lib/grooveshark/song.rb, line 28
def to_s
  [@id, @name, @artist].join(' - ')
end