Class: MiniTest::RG

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

Constant Summary collapse

VERSION =
"5.2.0"
COLORS =
{
  '.' => "\e[32m.\e[0m",
  'E' => "\e[33mE\e[0m",
  'F' => "\e[31mF\e[0m",
  'S' => "\e[36mS\e[0m",
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(io, colors = COLORS) ⇒ RG

Returns a new instance of RG.



41
42
43
44
# File 'lib/minitest/rg_plugin.rb', line 41

def initialize io, colors = COLORS
  @io     = io
  @colors = colors
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(msg, *args) ⇒ Object



63
64
65
66
# File 'lib/minitest/rg_plugin.rb', line 63

def method_missing msg, *args
  return super unless io.respond_to? msg
  io.send(msg, *args)
end

Instance Attribute Details

#colorsObject (readonly)

Returns the value of attribute colors.



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

def colors
  @colors
end

#ioObject (readonly)

Returns the value of attribute io.



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

def io
  @io
end

Class Method Details

.rg!Object



33
34
35
# File 'lib/minitest/rg_plugin.rb', line 33

def self.rg!
  @rg = true
end

.rg?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/minitest/rg_plugin.rb', line 37

def self.rg?
  @rg ||= false
end

Instance Method Details



46
47
48
# File 'lib/minitest/rg_plugin.rb', line 46

def print o
  io.print(colors[o] || o)
end

#puts(o = nil) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/minitest/rg_plugin.rb', line 50

def puts o=nil
  return io.puts if o.nil?
  if o =~ /(\d+) failures, (\d+) errors/
    if $1 != '0' || $2 != '0'
      io.puts "\e[31m#{o}\e[0m"
    else
      io.puts "\e[32m#{o}\e[0m"
    end
  else
    io.puts o
  end
end