Class: LastfmItunes::Lastfm::User

Inherits:
Object
  • Object
show all
Includes:
Tracks
Defined in:
lib/lastfm-itunes/lastfm/user.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Tracks

#find, #group_tracks_by_artist, #intersection_of_tracks, #over_limit?

Constructor Details

#initialize(args = {}) ⇒ User

Returns a new instance of User.



6
7
8
9
# File 'lib/lastfm-itunes/lastfm/user.rb', line 6

def initialize(args={})
  @user = ::Rockstar::User.new( args.fetch(:name) )
  @limit = args.fetch(:limit, 500)
end

Instance Attribute Details

#limitObject

Returns the value of attribute limit.



4
5
6
# File 'lib/lastfm-itunes/lastfm/user.rb', line 4

def limit
  @limit
end

#userObject

Returns the value of attribute user.



4
5
6
# File 'lib/lastfm-itunes/lastfm/user.rb', line 4

def user
  @user
end

Instance Method Details

#my_top_tracks(other_tracks) {|tracks.size| ... } ⇒ Object

Yields:

  • (tracks.size)


11
12
13
14
15
# File 'lib/lastfm-itunes/lastfm/user.rb', line 11

def my_top_tracks(other_tracks, &block)
  tracks = top_tracks
  yield tracks.size if block_given?
  intersection_of_tracks(tracks, other_tracks)
end

#top_tracksObject



17
18
19
# File 'lib/lastfm-itunes/lastfm/user.rb', line 17

def top_tracks
  user.top_tracks(false, @limit)
end