class Translatomatic::Logger

Logging

Attributes

progressbar[RW]

@return [ProgressBar] A progress bar

Public Class Methods

new() click to toggle source

@return [Translatomatic::Logger] create a new logger instance

# File lib/translatomatic/logger.rb, line 10
def initialize
  @logger = ::Logger.new(STDOUT)
  @logger.level = ENV['DEBUG'] ? ::Logger::DEBUG : ::Logger::INFO
  @logger.formatter = proc do |_severity, _datetime, _progname, msg|
    "#{msg}\n"
  end
end

Public Instance Methods

finish() click to toggle source

Called at the end of translatomatic to clear the progress bar.

# File lib/translatomatic/logger.rb, line 19
def finish
  @finished ||= begin
    @progressbar.finish if @progressbar
    true
  end
end

Private Instance Methods

handle_logger_method(name, args) click to toggle source
# File lib/translatomatic/logger.rb, line 40
def handle_logger_method(name, args)
  @progressbar.clear if @progressbar
  @logger.send(name, *args)
  refresh_progress_bar
end
method_missing(name, *args) click to toggle source
Calls superclass method
# File lib/translatomatic/logger.rb, line 32
def method_missing(name, *args)
  if @logger.respond_to?(name)
    handle_logger_method(name, args)
  else
    super
  end
end
refresh_progress_bar() click to toggle source
# File lib/translatomatic/logger.rb, line 46
def refresh_progress_bar
  return unless @progressbar && !@progressbar.stopped?
  @progressbar.refresh(force: true)
end
respond_to_missing?(name, include_private = false) click to toggle source
Calls superclass method
# File lib/translatomatic/logger.rb, line 28
def respond_to_missing?(name, include_private = false)
  @logger.respond_to?(name, include_private) || super
end