¶ ↑
ScrobblerScrobbler is a wrapper for the audioscrobbler web services (www.audioscrobbler.net/data/webservices/).
Below is just a sampling of how easy this lib is to use.
¶ ↑
Usersuser = Scrobbler::User.new('jnunemaker') puts "#{user.username}'s Recent Tracks" puts "=" * (user.username.length + 16) user.recent_tracks.each { |t| puts t.name } puts puts puts "#{user.username}'s Top Tracks" puts "=" * (user.username.length + 13) user.top_tracks.each { |t| puts "(#{t.playcount}) #{t.name}" }
¶ ↑
Albumsalbum = Scrobbler::Album.new('Carrie Underwood', 'Some Hearts', :include_info => true) puts "Album: #{album.name}" puts "Artist: #{album.artist}" puts "Reach: #{album.reach}" puts "URL: #{album.url}" puts "Release Date: #{album.release_date.strftime('%m/%d/%Y')}" puts puts puts "Tracks" longest_track_name = album.tracks.collect(&:name).sort { |x, y| y.length <=> x.length }.first.length puts "=" * longest_track_name album.tracks.each { |t| puts t.name }
¶ ↑
Artistsartist = Scrobbler::Artist.new('Carrie Underwood') puts 'Top Tracks' puts "=" * 10 artist.top_tracks.each { |t| puts "(#{t.reach}) #{t.name}" } puts puts 'Similar Artists' puts "=" * 15 artist.similar.each { |a| puts "(#{a.match}%) #{a.name}" }
¶ ↑
Tagstag = Scrobbler::Tag.new('country') puts 'Top Albums' tag.top_albums.each { |a| puts "(#{a.count}) #{a.name} by #{a.artist}" } puts puts 'Top Tracks' tag.top_tracks.each { |t| puts "(#{t.count}) #{t.name} by #{t.artist}" }
¶ ↑
Trackstrack = Scrobbler::Track.new('Carrie Underwood', 'Before He Cheats') puts 'Fans' puts "=" * 4 track.fans.each { |u| puts "(#{u.weight}) #{u.username}" }
¶ ↑
Simple Authentication (for Scrobbling)auth = Scrobbler::SimpleAuth.new(:user => 'chunky', :password => 'bacon') auth.handshake! puts "Auth Status: #{auth.status}" puts "Session ID: #{auth.session_id}" puts "Now Playing URL: #{auth.now_playing_url}" puts "Submission URL: #{auth.submission_url}"
¶ ↑
Scrobblingscrobble = Scrobbler::Scrobble.new(:session_id => auth.session_id, :submission_url => auth.submission_url, :artist => 'Coldplay', :track => 'Viva La Vida', :album => "Viva La Vida", :time => Time.new, :length => 244, :track_number => 7) scrobble.submit! puts "Scrobbler Submission Status: #{scrobble.status}"
¶ ↑
Now Playing Submissionplaying = Scrobbler::Playing.new(:session_id => auth.session_id, :now_playing_url => auth.now_playing_url, :artist => 'Anberlin', :track => 'Readyfuels', :album => 'Blueprints For the Black Market', :length => 218, :track_number => 1) playing.submit! puts "Playing Submission Status: #{playing.status}"