Sha256: 9a602bad239eeb2b5099b91881e77fa76b18b9d19b69608aeb541ea59c2a59c2
Contents?: true
Size: 1.04 KB
Versions: 5
Compression:
Stored size: 1.04 KB
Contents
module Gitrob class CLI class ProgressBar def initialize(message, options={}) @options = { :format => "#{'[*]'.light_blue} %t %c/%C %B %j% %e", :progress_mark => "|".light_blue, :remainder_mark => "|" }.merge(options) @mutex = Mutex.new Gitrob::CLI.info(message) @progress_bar = ::ProgressBar.create(@options) end def finish progress_bar.finish end def info(message) progress_bar.log("#{'[+]'.light_blue} #{message}") end def error(message) progress_bar.log("#{'[!]'.light_red} #{message}") end def warn(message) progress_bar.log("#{'[!]'.light_yellow} #{message}") end def method_missing(method, *args, &block) if progress_bar.respond_to?(method) progress_bar.send(method, *args, &block) else super end end private def progress_bar @mutex.synchronize { @progress_bar } end end end end
Version data entries
5 entries across 5 versions & 1 rubygems