Class: Vnehm::TrackManager

Inherits:
Object
  • Object
show all
Defined in:
lib/vnehm/track_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ TrackManager

Returns a new instance of TrackManager.



9
10
11
# File 'lib/vnehm/track_manager.rb', line 9

def initialize(options)
  setup_environment(options)
end

Instance Method Details

#process_tracks(tracks) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/vnehm/track_manager.rb', line 13

def process_tracks(tracks)
  tracks.reverse_each do |track|
    dl(track)
    tag(track)
    @playlist.add_track(track) if @playlist
    UI.newline
  end
  UI.success 'Готово!'
end

#search(query, limit, offset) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/vnehm/track_manager.rb', line 33

def search(query, limit, offset)
  UI.term "Неверное значение опции 'limit'\nОно должно быть больше 0" if limit <= 0
  UI.term "Неверное значении опции 'offset'\nОно должно быть больше или равно 0" if offset < 0

  found = Client.search(query, limit, offset)
  return nil if found.empty?

  found.shift # Deleting first item - 'count'

  found.map! { |hash| Track.new(hash) }
end

#tracks(limit, offset) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/vnehm/track_manager.rb', line 23

def tracks(limit, offset)
  UI.term "Неверное значение опции 'limit'\nОно должно быть больше 0" if limit <= 0
  UI.term "Неверное значении опции 'offset'\nОно должно быть больше или равно 0" if offset < 0

  tracks = Client.tracks(limit, offset)
  return nil if tracks.empty?

  tracks.map! { |hash| Track.new(hash) }
end