Class: Tsumetogi::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/tsumetogi/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(config = nil) ⇒ Logger

Returns a new instance of Logger.



5
6
7
8
9
10
11
# File 'lib/tsumetogi/logger.rb', line 5

def initialize(config = nil)
  if config
    @verbose = config.verbose
    @progress = config.progress
  end
  @fp = $stdout
end

Instance Method Details

#debug(message) ⇒ Object



17
18
19
20
# File 'lib/tsumetogi/logger.rb', line 17

def debug(message)
  return unless @verbose
  @fp.puts message
end

#flushObject



34
35
36
# File 'lib/tsumetogi/logger.rb', line 34

def flush
  @fp.flush
end

#progress(message, processed_num, total_num) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/tsumetogi/logger.rb', line 22

def progress(message, processed_num, total_num)
  return unless @progress
  return if total_num == 0

  percent = (processed_num / total_num.to_f * 100).to_i
  done    = "=" * (      30 * percent / 100).to_i
  not_yet = "-" * (30 - (30 * percent / 100).to_i)
  msg = "#{message} : [%3d%%] |%s%s|" % [percent, done, not_yet]
  @fp.print "#{msg}\r"
  flush
end

#puts(message = nil) ⇒ Object



13
14
15
# File 'lib/tsumetogi/logger.rb', line 13

def puts(message = nil)
  @fp.puts message
end