class SpotifyToMp3::App::DownloadProgressBar

Public Class Methods

new(options) click to toggle source
# File lib/spotify_to_mp3/app/download_progress_bar.rb, line 11
def initialize(options)
  track = options.fetch(:track)
  track_number = options.fetch(:track_number)
  track_size = options.fetch(:track_size)
  total_tracks = options.fetch(:total_tracks)
  
  @progress_bar = ProgressBar.create(
    title: cut_title("[#{track_number}/#{total_tracks}] #{track}"),
    total: track_size,
    format: "%t %p%% [%B] %E"
  )
end

Private Instance Methods

cut_title(title) click to toggle source
# File lib/spotify_to_mp3/app/download_progress_bar.rb, line 26
def cut_title(title)
  win_half = $stdout.winsize[1] / 2
  cut_title = title[0..win_half.pred].ljust win_half
  cut_title.gsub(/.{3}$/, '...') if title.length > win_half
  cut_title
end