class SimpleCov::Formatter::MultiFormatter

def self.[](*args)

def self.[](*args)
  Class.new(self) do
    define_method :formatters do
      @formatters ||= args
    end
  end
end

def format(result)

def format(result)
  formatters.map do |formatter|
    begin
      formatter.new.format(result)
    rescue => e
      STDERR.puts("Formatter #{formatter} failed with #{e.class}: #{e.message} (#{e.backtrace.first})")
      nil
    end
  end
end

def formatters

def formatters
  @formatters ||= []
end