class RSpec::Core::Reporter

def conclude

def conclude
  begin
    stop
    notify :start_dump
    notify :dump_pending
    notify :dump_failures
    notify :dump_summary, @duration, @example_count, @failure_count, @pending_count
  ensure
    notify :close
  end
end

def example_failed(example)

def example_failed(example)
  @failure_count += 1
  notify :example_failed, example
end

def example_group_finished(group)

def example_group_finished(group)
  notify :example_group_finished, group
end

def example_group_started(group)

def example_group_started(group)
  notify :example_group_started, group
end

def example_passed(example)

def example_passed(example)
  notify :example_passed, example
end

def example_pending(example)

def example_pending(example)
  @pending_count += 1
  notify :example_pending, example
end

def example_started(example)

def example_started(example)
  @example_count += 1
  notify :example_started, example
end

def initialize(*formatters)

def initialize(*formatters)
  @formatters = formatters
  @example_count = @failure_count = @pending_count = 0
  @duration = @start = nil
end

def message(message)

def message(message)
  notify :message, message
end

def notify(method, *args, &block)

def notify(method, *args, &block)
  @formatters.each do |formatter|
    formatter.send method, *args, &block
  end
end

def report(count)

def report(count)
  start(count)
  begin
    yield self
  ensure
    conclude
  end
end

def start(expected_example_count)

def start(expected_example_count)
  @start = Time.now
  notify :start, expected_example_count
end

def stop

def stop
  @duration = Time.now - @start if @start
  notify :stop
end