class TheFox::Timr::ProgressBar
See [ruby-progressbar Issue #131](github.com/jfelchner/ruby-progressbar/issues/131).
Public Class Methods
new(options = Hash.new)
click to toggle source
# File lib/timr/progressbar.rb, line 8 def initialize(options = Hash.new) @total = options.fetch(:total, 100) @progress = options.fetch(:progress, 0) @length = options.fetch(:length, 10) @progress_mark = options.fetch(:progress_mark, ?#) @remainder_mark = options.fetch(:remainder_mark, ?-) end
Public Instance Methods
render(progress = nil)
click to toggle source
Render ProgressBar
as String.
# File lib/timr/progressbar.rb, line 17 def render(progress = nil) if progress @progress = progress end progress_f = @progress.to_f / @total.to_f if progress_f > 1.0 progress_f = 1.0 end progress_f = @length.to_f * progress_f progress_s = @progress_mark * progress_f remain_l = @length - progress_s.length remain_s = @remainder_mark * remain_l '%s%s' % [progress_s, remain_s] end