Class: Console::ProgressBar
Instance Method Summary collapse
- #bar_mark=(mark) ⇒ Object
- #file_transfer_mode ⇒ Object
- #finish ⇒ Object
- #format=(format) ⇒ Object
- #format_arguments=(arguments) ⇒ Object
- #halt ⇒ Object
- #inc(step = 1) ⇒ Object
-
#initialize(title, total, out = STDERR) ⇒ ProgressBar
constructor
A new instance of ProgressBar.
- #inspect ⇒ Object
- #set(count) ⇒ Object
- #total_overflow=(boolv) ⇒ Object
Constructor Details
#initialize(title, total, out = STDERR) ⇒ ProgressBar
Returns a new instance of ProgressBar.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/pik/contrib/progressbar.rb', line 37 def initialize(title, total, out = STDERR) @title = title @total = total @out = out @bar_length = 80 @bar_mark = "o" @total_overflow = true @current = 0 @previous = 0 @is_finished = false @start_time = Time.now @format = "%-14s %3d%% %s %s" @format_arguments = [:title, :percentage, :bar, :stat] show_progress end |
Instance Method Details
#bar_mark=(mark) ⇒ Object
184 185 186 |
# File 'lib/pik/contrib/progressbar.rb', line 184 def (mark) @bar_mark = String(mark)[0..0] end |
#file_transfer_mode ⇒ Object
180 181 182 |
# File 'lib/pik/contrib/progressbar.rb', line 180 def file_transfer_mode @format_arguments = [:title, :percentage, :bar, :stat_for_file_transfer] end |
#finish ⇒ Object
200 201 202 203 204 |
# File 'lib/pik/contrib/progressbar.rb', line 200 def finish @current = @total @is_finished = true show_progress end |
#format=(format) ⇒ Object
192 193 194 |
# File 'lib/pik/contrib/progressbar.rb', line 192 def format= (format) @format = format end |
#format_arguments=(arguments) ⇒ Object
196 197 198 |
# File 'lib/pik/contrib/progressbar.rb', line 196 def format_arguments= (arguments) @format_arguments = arguments end |
#halt ⇒ Object
206 207 208 209 |
# File 'lib/pik/contrib/progressbar.rb', line 206 def halt @is_finished = true show_progress end |
#inc(step = 1) ⇒ Object
226 227 228 229 230 231 |
# File 'lib/pik/contrib/progressbar.rb', line 226 def inc (step = 1) @current += step @current = @total if @current > @total show_progress @previous = @current end |
#inspect ⇒ Object
233 234 235 |
# File 'lib/pik/contrib/progressbar.rb', line 233 def inspect "(ProgressBar: #{@current}/#{@total})" end |
#set(count) ⇒ Object
211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'lib/pik/contrib/progressbar.rb', line 211 def set (count) if count < 0 raise "invalid count less than zero: #{count}" elsif count > @total if @total_overflow @total = count + 1 else raise "invalid count greater than total: #{count}" end end @current = count show_progress @previous = @current end |
#total_overflow=(boolv) ⇒ Object
188 189 190 |
# File 'lib/pik/contrib/progressbar.rb', line 188 def total_overflow= (boolv) @total_overflow = boolv ? true : false end |