Class: YARD::Logger
- Inherits:
-
Logger
- Object
- Logger
- YARD::Logger
- Defined in:
- lib/yard-sketchup/yard/logger.rb
Instance Method Summary collapse
Instance Method Details
#progress(msg, nontty_log = :debug) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/yard-sketchup/yard/logger.rb', line 19 def progress(msg, nontty_log = :debug) send(nontty_log, msg) if nontty_log return unless show_progress icon = "" if defined?(::Encoding) icon = PROGRESS_INDICATORS[@progress_indicator] + " " end @mutex.synchronize do print("\e[2K\e[?25l\e[1m#{icon}#{msg}\e[0m\r") @progress_msg = msg if Time.now - @progress_last_update > 0.2 @progress_indicator += 1 @progress_indicator %= PROGRESS_INDICATORS.size @progress_last_update = Time.now end end Thread.new do sleep(0.05) # <hack> # progress(msg + ".", nil) if @progress_msg == msg # </hack> progress(msg, nil) if @progress_msg == msg end end |
#show_progress ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/yard-sketchup/yard/logger.rb', line 9 def show_progress return false if YARD.ruby18? # threading is too ineffective for progress support # <hack> # return false if YARD.windows? # windows has poor ANSI support # </hack> return false unless io.tty? # no TTY support on IO return false unless level > INFO # no progress in verbose/debug modes @show_progress end |