class Infobar
def call(
def call( total:, current: 0, label: cc.infobar?&.label || 'Infobar', message: cc.infobar?&.message?&.to_h, show: cc.infobar?&.show?, style: cc.infobar?&.style?&.to_h&.symbolize_keys_recursive, as_styles: cc.infobar?&.as_styles?&.to_h&.symbolize_keys_recursive, frequency: cc.infobar?&.frequency?, update: false, input: $stdin, output: $stdout ) self.label = label counter.reset(total: total, current: current) display.reset clear: false @message = convert_to_message( message.full? || '%l %c/%t in %te, ETA %e @%E %s' ) show.nil? or self.show = show frequency.nil? or display.frequency = frequency style.nil? or self.style = style self.as_styles = as_styles self.input = input self.output = output update and update(message: @message, force: true) self end