class ProgressMonitor::Display::ProgressBar
Constants
- BAR_PARTIAL_PROGRESS
- BAR_PROGRESS
- BAR_SPACE
Attributes
completion_percent[RW]
size[RW]
Public Class Methods
new(size: 20, completion_percent: 0)
click to toggle source
# File lib/progress_monitor/display/progress_bar.rb, line 6 def initialize(size: 20, completion_percent: 0) @size = size @completion_percent = completion_percent end
Public Instance Methods
render()
click to toggle source
# File lib/progress_monitor/display/progress_bar.rb, line 15 def render if completion_percent == :unknown '╍' * size else completion_float = completion_percent.to_f / 100 * size completion_size = completion_float.floor remainder = (completion_float % 1 * 8).floor if completion_size < size BAR_PROGRESS * completion_size + BAR_PARTIAL_PROGRESS[remainder] + BAR_SPACE * (size - completion_size - 1) else BAR_PROGRESS * size end end rescue => e puts e "" end