-
-
Notifications
You must be signed in to change notification settings - Fork 132
Example
Jeff Felchner edited this page Jul 13, 2016
·
7 revisions
If you would like a bar with the elapsed time on the left and the percentage complete followed by the title on the right, you'd do this:
ProgressBar.create(:format => '%a %B %p%% %t')
Which will output something like this:
Time: --:--:-- 0% Progress
Hard to see where the bar is? Just add your own end caps, whatever you'd like. Like so:
ProgressBar.create(:format => '%a <%B> %p%% %t')
Becomes:
Time: --:--:-- < > 0% Progress
Want to put an end cap on your bar? Nothing special, just use the bar flag %b
combined with the incomplete space flag %i
like so:
ProgressBar.create(:format => '%a |%b>>%i| %p%% %t', :starting_at => 10)
Becomes:
Time: --:--:-- |====>> | 10% Progress
Notice that the absolute length doesn't get any longer, the bar just shrinks to fill the remaining space.
One more variant for long tasks with high amount of items:
ProgressBar.create format: "%a %e %P% Processed: %c from %C"
Time: 00:43:54 ETA: 00:37:39 53.84% Processed: 44999 from 83577
Want to play a game of PAC-MAN while you wait for your progress?
ProgressBar.create( :format => "%a %b\u{15E7}%i %p%% %t",
:progress_mark => ' ',
:remainder_mark => "\u{FF65}",
:starting_at => 10)
Becomes PAC-MAN!
Time: --:--:-- ᗧ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 10% Progress