class RSpec3

Constants

PI_3

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/rainbow_formatter/rspec3.rb, line 8
def initialize(options)
  # colors calculation stolen from Minitest's Pride Plugin
  # https://github.com/seattlerb/minitest
  @colors = (0...(6 * 7)).map do |n|
    n *= 1.0 / 6
    r  = (3 * Math.sin(n) + 3).to_i
    g  = (3 * Math.sin(n + 2 * PI_3) + 3).to_i
    b  = (3 * Math.sin(n + 4 * PI_3) + 3).to_i

    36 * r + 6 * g + b + 16
  end
  @color_index = 0
  super(options)
end

Public Instance Methods

example_passed(_notification) click to toggle source
# File lib/rainbow_formatter/rspec3.rb, line 23
def example_passed(_notification)
  output.print "\e[38;5;#{rainbow}m.\e[0m"
end
rainbow() click to toggle source
# File lib/rainbow_formatter/rspec3.rb, line 27
def rainbow
  @color_index == (@colors.size - 1) ? @color_index = 0 : @color_index += 1
  @colors[@color_index]
end