module Cucumber::Formatter::Io::ClassMethods

def new(*args, &block)

def new(*args, &block)
  instance = super
  config = args[0]
  if config.respond_to? :on_event
    config.on_event :test_run_finished do
      ios = instance.instance_variable_get(:@io_objects_to_close) || []
      ios.each do |io|
        at_exit do
          unless io.closed?
            io.flush
            io.close
          end
        end
      end
    end
  end
  instance
end