class Bosh::Cli::FileWithProgressBar

Public Instance Methods

file_name() click to toggle source
# File lib/cli/file_with_progress_bar.rb, line 13
def file_name
  File.basename(self.path)
end
progress_bar() click to toggle source
# File lib/cli/file_with_progress_bar.rb, line 5
def progress_bar
  return @progress_bar if @progress_bar
  out = Bosh::Cli::Config.output || StringIO.new
  @progress_bar = ProgressBar.new(file_name, size, out)
  @progress_bar.file_transfer_mode
  @progress_bar
end
read(*args) click to toggle source
Calls superclass method
# File lib/cli/file_with_progress_bar.rb, line 29
def read(*args)
  result = super(*args)

  if result && result.size > 0
    progress_bar.inc(result.size)
  else
    progress_bar.finish
  end

  result
end
size() click to toggle source
# File lib/cli/file_with_progress_bar.rb, line 21
def size
  @size || File.size(self.path)
end
size=(size) click to toggle source
# File lib/cli/file_with_progress_bar.rb, line 25
def size=(size)
  @size=size
end
stop_progress_bar() click to toggle source
# File lib/cli/file_with_progress_bar.rb, line 17
def stop_progress_bar
  progress_bar.halt unless progress_bar.finished?
end
write(*args) click to toggle source
Calls superclass method
# File lib/cli/file_with_progress_bar.rb, line 41
def write(*args)
  count = super(*args)
  if count
    progress_bar.inc(count)
  else
    progress_bar.finish
  end
  count
end