class YARD::Logger

Public Instance Methods

progress(msg, nontty_log = :debug) click to toggle source
# 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() click to toggle source
# 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