Class: Minitest::CompositeReporter

Inherits:
AbstractReporter show all
Defined in:
lib/minitest.rb

Overview

Dispatch to multiple reporters as one.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractReporter

#synchronize

Constructor Details

#initialize(*reporters) ⇒ CompositeReporter

:nodoc:



991
992
993
994
# File 'lib/minitest.rb', line 991

def initialize *reporters # :nodoc:
  super()
  self.reporters = reporters
end

Instance Attribute Details

#reportersObject

The list of reporters to dispatch to.



989
990
991
# File 'lib/minitest.rb', line 989

def reporters
  @reporters
end

Instance Method Details

#<<(reporter) ⇒ Object

Add another reporter to the mix.



1003
1004
1005
# File 'lib/minitest.rb', line 1003

def << reporter
  self.reporters << reporter
end

#ioObject

:nodoc:



996
997
998
# File 'lib/minitest.rb', line 996

def io # :nodoc:
  reporters.first.io
end

#passed?Boolean

:nodoc:

Returns:

  • (Boolean)


1007
1008
1009
# File 'lib/minitest.rb', line 1007

def passed? # :nodoc:
  self.reporters.all?(&:passed?)
end

#prerecord(klass, name) ⇒ Object

:nodoc:



1015
1016
1017
1018
1019
1020
# File 'lib/minitest.rb', line 1015

def prerecord klass, name # :nodoc:
  self.reporters.each do |reporter|
    # TODO: remove conditional for minitest 6
    reporter.prerecord klass, name if reporter.respond_to? :prerecord
  end
end

#record(result) ⇒ Object

:nodoc:



1022
1023
1024
1025
1026
# File 'lib/minitest.rb', line 1022

def record result # :nodoc:
  self.reporters.each do |reporter|
    reporter.record result
  end
end

#reportObject

:nodoc:



1028
1029
1030
# File 'lib/minitest.rb', line 1028

def report # :nodoc:
  self.reporters.each(&:report)
end

#startObject

:nodoc:



1011
1012
1013
# File 'lib/minitest.rb', line 1011

def start # :nodoc:
  self.reporters.each(&:start)
end