Class: VMC::Cli::Command::FileWithPercentOutput

Inherits:
File
  • Object
show all
Defined in:
lib/cli/commands/apps.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.display_strObject

Returns the value of attribute display_str.



1100
1101
1102
# File 'lib/cli/commands/apps.rb', line 1100

def display_str
  @display_str
end

.upload_sizeObject

Returns the value of attribute upload_size.



1100
1101
1102
# File 'lib/cli/commands/apps.rb', line 1100

def upload_size
  @upload_size
end

Instance Method Details

#read(*args) ⇒ Object



1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
# File 'lib/cli/commands/apps.rb', line 1114

def read(*args)
  result  = super(*args)
  if result && result.size > 0
    update_display(result.size)
  else
    unless VMC::Cli::Config.output.nil? || !STDOUT.tty?
      clear(FileWithPercentOutput.display_str.size + 5)
      VMC::Cli::Config.output.print(FileWithPercentOutput.display_str)
      display('OK'.green)
    end
  end
  result
end

#update_display(rsize) ⇒ Object



1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
# File 'lib/cli/commands/apps.rb', line 1103

def update_display(rsize)
  @read ||= 0
  @read += rsize
  p = (@read * 100 / FileWithPercentOutput.upload_size).to_i
  unless VMC::Cli::Config.output.nil? || !STDOUT.tty?
    clear(FileWithPercentOutput.display_str.size + 5)
    VMC::Cli::Config.output.print("#{FileWithPercentOutput.display_str} #{p}%")
    VMC::Cli::Config.output.flush
  end
end