Class: Nehm::TrackManager
- Inherits:
-
Object
- Object
- Nehm::TrackManager
- Defined in:
- lib/nehm/track_manager.rb
Instance Method Summary collapse
-
#initialize(options) ⇒ TrackManager
constructor
A new instance of TrackManager.
- #likes(limit, offset) ⇒ Object
- #posts(limit, offset) ⇒ Object
- #process_tracks(tracks) ⇒ Object
- #search(query, limit, offset) ⇒ Object
- #track_from_url(url) ⇒ Object
Constructor Details
#initialize(options) ⇒ TrackManager
Returns a new instance of TrackManager.
9 10 11 |
# File 'lib/nehm/track_manager.rb', line 9 def initialize() setup_environment() end |
Instance Method Details
#likes(limit, offset) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/nehm/track_manager.rb', line 25 def likes(limit, offset) likes = Client.tracks(limit, offset, :likes, @uid) return nil if likes.empty? filter(likes) convert(likes) end |
#posts(limit, offset) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/nehm/track_manager.rb', line 33 def posts(limit, offset) posts = Client.tracks(limit, offset, :posts, @uid) return nil if posts.empty? posts.reject! { |hash| hash['type'] == 'playlist' } posts.map! { |hash| hash['track'] } filter(posts) convert(posts) end |
#process_tracks(tracks) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/nehm/track_manager.rb', line 13 def process_tracks(tracks) tracks.reverse_each do |track| UI.newline dl(track) tag(track) track.artwork.suicide @playlist.add_track(track) if @playlist UI.newline end UI.success 'Done!' end |
#search(query, limit, offset) ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/nehm/track_manager.rb', line 51 def search(query, limit, offset) found = Client.search(query, limit, offset) return nil if found.empty? filter(found) convert(found) end |
#track_from_url(url) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/nehm/track_manager.rb', line 43 def track_from_url(url) track = [Client.track(url)] return nil if track.empty? filter(track) convert(track) end |