update method
"update" the progress bar to represent an exact percentage.
The ratio (between 0 and 1) specified will be multiplied by total
and
floored, representing the closest available "tick." For example, if a
progress bar has a length of 3 and update(0.5)
is called, the progress
will be set to 1.
A ratio of 0.5 will attempt to set the progress to halfway.
Implementation
update(num ratio) {
var goal = (ratio * this.total).floor();
var delta = goal - this.curr;
this.tick(len: delta);
}