class WSColor

Attributes

io[R]

Public Class Methods

new(io) click to toggle source
# File lib/minitest/wscolor.rb, line 6
def initialize io
  @io = io
end

Public Instance Methods

method_missing(msg, *args) click to toggle source
# File lib/minitest/wscolor.rb, line 42
def method_missing msg, *args
  io.send(msg, *args)
end
print(o) click to toggle source
puts(*a) click to toggle source
# File lib/minitest/wscolor.rb, line 21
def puts *a
  output = a.collect do |out|
    case out
    when /(0 failures, 0 errors, 0 skips)/
      out.sub($&, "\e[32m#{$&}\e[0m")
    when /(\d+ failures), (\d+ errors), (\d+ skips)/
      md = $~
      out.sub(md[1], "\e[31m#{md[1]}\e[0m").sub(md[2], "\e[33m#{md[2]}\e[0m").sub(md[3], "\e[36m#{md[3]}\e[0m")
    when /Failure/
      out.sub(out, "\e[31m#{out}\e[0m")
    when /Error/
      out.sub(out, "\e[33m#{out}\e[0m")
    when /Skipped/
      out.sub(out, "\e[36m#{out}\e[0m")
    else
      out
    end
  end
  io.puts *output
end