Class: Logger::LogDevice

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

Overview

:nodoc:

Constant Summary collapse

LEVELS =
%w{debug info warn error fatal unknown}

Instance Method Summary collapse

Instance Method Details

#catch_messages(level) ⇒ Object

Define a String to collect messages.



31
32
33
34
# File 'lib/minitest/logger.rb', line 31

def catch_messages(level)
  @catchlevel = level
  @messages = ''
end

#catch_messages_stopObject

Stop message collection and retund the collected messages.



37
38
39
40
41
# File 'lib/minitest/logger.rb', line 37

def catch_messages_stop()
  messages = @messages
  @messages = nil
  messages.empty? ? nil : messages
end

#old_writeObject



44
# File 'lib/minitest/logger.rb', line 44

alias_method :old_write, :write

#write(message) ⇒ Object

Store messages also in @messages if requested.



46
47
48
49
50
51
52
53
# File 'lib/minitest/logger.rb', line 46

def write(message)
  #check level with @catchlevel 
  if @messages 
    caller[1] =~ /`(.+?)'\Z/
    @messages << message if !@catchlevel  or @catchlevel <= LEVELS.index($1)
  end
  old_write(message)
end