+ file = args.shift
+ mode = args.shift
+ options = args.shift || {}
+
+ if mode == 'w'
+ case options[:compress]
+ when :gzip
+ ios, = Open3.pipeline_w("gzip -f", out: file)
+ when :bzip, :bzip2
+ ios, = Open3.pipeline_w("bzip2 -c", out: file)
+ else
+ ios = File.open(file, mode, options)
+ end