class Mutest::WarningFilter

Stream filter for warnings

Constants

WARNING_PATTERN

Attributes

target[R]

Target stream to capture warnings on

@return [#write] target

@return [undefined]

warnings[R]

Warnings captured by filter

@return [Array<String>]

Public Class Methods

new(target) click to toggle source

Initialize object

@param [#write] target

@return [undefined]

# File lib/mutest/warning_filter.rb, line 13
def initialize(target)
  @target   = target
  @warnings = []
end
use() { || ... } click to toggle source

Use warning filter during block execution

@return [Array<String>]

# File lib/mutest/warning_filter.rb, line 49
def self.use
  original = $stderr
  $stderr = filter = new(original)
  yield
  filter.warnings
ensure
  $stderr = original
end

Public Instance Methods

write(message) click to toggle source

Write message to target filtering warnings

@param [String] message

@return [self]

# File lib/mutest/warning_filter.rb, line 36
def write(message)
  if WARNING_PATTERN =~ message
    warnings << message
  else
    target.write(message)
  end

  self
end