Sha256: 089205e7eac260addd0efd895e2784019d8f3ee1221f029fbfc76bd0850452d4
Contents?: true
Size: 796 Bytes
Versions: 31
Compression:
Stored size: 796 Bytes
Contents
module RubiGen class SimpleLogger # :nodoc: attr_reader :out attr_accessor :quiet def initialize(out = $stdout) @out = out @quiet = false @level = 0 end def log(status, message, &block) @out.print("%12s %s%s\n" % [status, ' ' * @level, message]) unless quiet indent(&block) if block_given? end def indent(&block) @level += 1 if block_given? begin block.call ensure outdent end end end def outdent @level -= 1 if block_given? begin block.call ensure indent end end end private def method_missing(method, *args, &block) log(method.to_s, args.first, &block) end end end
Version data entries
31 entries across 31 versions & 1 rubygems