Class: Shortwave::Facade::User
- Defined in:
- lib/shortwave/facade/lastfm.rb
Instance Attribute Summary
Attributes inherited from Remote
Instance Method Summary collapse
-
#events(user) ⇒ Object
Get a list of upcoming events that this user is attending.
-
#friends(user, options = {}) ⇒ Object
Get a list of the user's friends on Last.fm.
-
#info ⇒ Object
Get information about a user profile.
-
#loved_tracks(user) ⇒ Object
Get the last 50 tracks loved by a user.
-
#neighbours(user, options = {}) ⇒ Object
Get a list of a user's neighbours on Last.fm.
-
#past_events(user, options = {}) ⇒ Object
Get a paginated list of all events a user has attended in the past.
-
#playlists(user) ⇒ Object
Get a list of a user's playlists on Last.fm.
-
#recent_tracks(user, options = {}) ⇒ Object
Get a list of the recent tracks listened to by this user.
-
#recommended_artists ⇒ Object
Get Last.fm artist recommendations for a user.
-
#recommended_events(options = {}) ⇒ Object
Get a paginated list of all events recommended to a user by Last.fm, based on their listening profile.
-
#shout(user, message) ⇒ Object
Shout on this user's shoutbox.
-
#shouts(user) ⇒ Object
Get shouts for this user.
-
#top_albums(user, options = {}) ⇒ Object
Get the top albums listened to by a user.
-
#top_artists(user, options = {}) ⇒ Object
Get the top artists listened to by a user.
-
#top_tags(user, options = {}) ⇒ Object
Get the top tags used by this user.
-
#top_tracks(user, options = {}) ⇒ Object
Get the top tracks listened to by a user.
-
#weekly_album_chart(user, options = {}) ⇒ Object
Get an album chart for a user profile, for a given date range.
-
#weekly_artist_chart(user, options = {}) ⇒ Object
Get an artist chart for a user profile, for a given date range.
-
#weekly_chart_list(user) ⇒ Object
Get a list of available charts for this user, expressed as date ranges which can be sent to the chart services.
-
#weekly_track_chart(user, options = {}) ⇒ Object
Get a track chart for a user profile, for a given date range.
Methods inherited from Remote
Constructor Details
This class inherits a constructor from Shortwave::Facade::Remote
Instance Method Details
#events(user) ⇒ Object
Get a list of upcoming events that this user is attending. Easily integratable into calendars, using the ical standard (see 'more formats' section below).
userThe user to fetch the events for.
157 158 159 |
# File 'lib/shortwave/facade/lastfm.rb', line 157 def events(user) get(:standard, {:method => "user.getEvents", :user => user}) end |
#friends(user, options = {}) ⇒ Object
Get a list of the user's friends on Last.fm.
userThe last.fm username to fetch the friends of.
Options
recenttracksWhether or not to include information about friends' recent listening in the response.
limitAn integer used to limit the number of friends returned per page. The default is 50.
pageThe page number to fetch.
203 204 205 |
# File 'lib/shortwave/facade/lastfm.rb', line 203 def friends(user, ={}) get(:standard, {:method => "user.getFriends", :user => user}.merge()) end |
#info ⇒ Object
Get information about a user profile.
172 173 174 |
# File 'lib/shortwave/facade/lastfm.rb', line 172 def info() get(:session, {:method => "user.getInfo"}) end |
#loved_tracks(user) ⇒ Object
Get the last 50 tracks loved by a user.
userThe user name to fetch the loved tracks for.
122 123 124 |
# File 'lib/shortwave/facade/lastfm.rb', line 122 def loved_tracks(user) get(:standard, {:method => "user.getLovedTracks", :user => user}) end |
#neighbours(user, options = {}) ⇒ Object
Get a list of a user's neighbours on Last.fm.
userThe last.fm username to fetch the neighbours of.
Options
limitAn integer used to limit the number of neighbours returned.
132 133 134 |
# File 'lib/shortwave/facade/lastfm.rb', line 132 def neighbours(user, ={}) get(:standard, {:method => "user.getNeighbours", :user => user}.merge()) end |
#past_events(user, options = {}) ⇒ Object
Get a paginated list of all events a user has attended in the past.
userThe username to fetch the events for.
Options
pageThe page number to scan to.
limitThe number of events to return per page.
250 251 252 |
# File 'lib/shortwave/facade/lastfm.rb', line 250 def past_events(user, ={}) get(:standard, {:method => "user.getPastEvents", :user => user}.merge()) end |
#playlists(user) ⇒ Object
Get a list of a user's playlists on Last.fm.
userThe last.fm username to fetch the playlists of.
239 240 241 |
# File 'lib/shortwave/facade/lastfm.rb', line 239 def playlists(user) get(:standard, {:method => "user.getPlaylists", :user => user}) end |
#recent_tracks(user, options = {}) ⇒ Object
Get a list of the recent tracks listened to by this user. Indicates now playing track if the user is currently listening.
userThe last.fm username to fetch the recent tracks of.
Options
limitAn integer used to limit the number of tracks returned.
142 143 144 |
# File 'lib/shortwave/facade/lastfm.rb', line 142 def recent_tracks(user, ={}) get(:standard, {:method => "user.getRecentTracks", :user => user}.merge()) end |
#recommended_artists ⇒ Object
Get Last.fm artist recommendations for a user
255 256 257 |
# File 'lib/shortwave/facade/lastfm.rb', line 255 def recommended_artists() get(:session, {:method => "user.getRecommendedArtists"}) end |
#recommended_events(options = {}) ⇒ Object
Get a paginated list of all events recommended to a user by Last.fm, based on their listening profile.
Options
pageThe page number to scan to.
limitThe number of events to return per page.
181 182 183 |
# File 'lib/shortwave/facade/lastfm.rb', line 181 def recommended_events(={}) get(:session, {:method => "user.getRecommendedEvents"}.merge()) end |
#shout(user, message) ⇒ Object
Shout on this user's shoutbox
userThe name of the user to shout on.
messageThe message to post to the shoutbox.
150 151 152 |
# File 'lib/shortwave/facade/lastfm.rb', line 150 def shout(user, ) post(:session, {:method => "user.shout", :user => user, :message => }) end |
#shouts(user) ⇒ Object
Get shouts for this user. Also available as an rss feed.
userThe username to fetch shouts for
210 211 212 |
# File 'lib/shortwave/facade/lastfm.rb', line 210 def shouts(user) get(:standard, {:method => "user.getShouts", :user => user}) end |
#top_albums(user, options = {}) ⇒ Object
Get the top albums listened to by a user. You can stipulate a time period. Sends the overall chart by default.
userThe user name to fetch top albums for.
Options
periodoverall | 3month | 6month | 12month - The time period over which to retrieve top albums for.
265 266 267 |
# File 'lib/shortwave/facade/lastfm.rb', line 265 def top_albums(user, ={}) get(:standard, {:method => "user.getTopAlbums", :user => user}.merge()) end |
#top_artists(user, options = {}) ⇒ Object
Get the top artists listened to by a user. You can stipulate a time period. Sends the overall chart by default.
userThe user name to fetch top artists for.
Options
periodoverall | 3month | 6month | 12month - The time period over which to retrieve top artists for.
191 192 193 |
# File 'lib/shortwave/facade/lastfm.rb', line 191 def top_artists(user, ={}) get(:standard, {:method => "user.getTopArtists", :user => user}.merge()) end |
#top_tags(user, options = {}) ⇒ Object
Get the top tags used by this user.
userThe user name
Options
limitLimit the number of tags returned
282 283 284 |
# File 'lib/shortwave/facade/lastfm.rb', line 282 def (user, ={}) get(:standard, {:method => "user.getTopTags", :user => user}.merge()) end |
#top_tracks(user, options = {}) ⇒ Object
Get the top tracks listened to by a user. You can stipulate a time period. Sends the overall chart by default.
userThe user name to fetch top tracks for.
Options
periodoverall | 3month | 6month | 12month - The time period over which to retrieve top tracks for.
167 168 169 |
# File 'lib/shortwave/facade/lastfm.rb', line 167 def top_tracks(user, ={}) get(:standard, {:method => "user.getTopTracks", :user => user}.merge()) end |
#weekly_album_chart(user, options = {}) ⇒ Object
Get an album chart for a user profile, for a given date range. If no date range is supplied, it will return the most recent album chart for this user.
userThe last.fm username to fetch the charts of.
Options
fromThe date at which the chart should start from. See User.getChartsList for more.
toThe date at which the chart should end on. See User.getChartsList for more.
221 222 223 |
# File 'lib/shortwave/facade/lastfm.rb', line 221 def weekly_album_chart(user, ={}) get(:standard, {:method => "user.getWeeklyAlbumChart", :user => user}.merge()) end |
#weekly_artist_chart(user, options = {}) ⇒ Object
Get an artist chart for a user profile, for a given date range. If no date range is supplied, it will return the most recent artist chart for this user.
userThe last.fm username to fetch the charts of.
Options
fromThe date at which the chart should start from. See User.getWeeklyChartList for more.
toThe date at which the chart should end on. See User.getWeeklyChartList for more.
232 233 234 |
# File 'lib/shortwave/facade/lastfm.rb', line 232 def weekly_artist_chart(user, ={}) get(:standard, {:method => "user.getWeeklyArtistChart", :user => user}.merge()) end |
#weekly_chart_list(user) ⇒ Object
Get a list of available charts for this user, expressed as date ranges which can be sent to the chart services.
userThe last.fm username to fetch the charts list for.
272 273 274 |
# File 'lib/shortwave/facade/lastfm.rb', line 272 def weekly_chart_list(user) get(:standard, {:method => "user.getWeeklyChartList", :user => user}) end |
#weekly_track_chart(user, options = {}) ⇒ Object
Get a track chart for a user profile, for a given date range. If no date range is supplied, it will return the most recent track chart for this user.
userThe last.fm username to fetch the charts of.
Options
fromThe date at which the chart should start from. See User.getWeeklyChartList for more.
toThe date at which the chart should end on. See User.getWeeklyChartList for more.
293 294 295 |
# File 'lib/shortwave/facade/lastfm.rb', line 293 def weekly_track_chart(user, ={}) get(:standard, {:method => "user.getWeeklyTrackChart", :user => user}.merge()) end |