lib/cosmos/io/io_multiplexer.rb in cosmos-3.0.1 vs lib/cosmos/io/io_multiplexer.rb in cosmos-3.1.0
- old
+ new
@@ -1,89 +1,89 @@
-# encoding: ascii-8bit
-
-# Copyright 2014 Ball Aerospace & Technologies Corp.
-# All Rights Reserved.
-#
-# This program is free software; you can modify and/or redistribute it
-# under the terms of the GNU General Public License
-# as published by the Free Software Foundation; version 3 with
-# attribution addendums as found in the LICENSE.txt
-
-module Cosmos
-
- # Adds IO streams and then defers to the streams when using any of the Ruby
- # output methods such as print, puts, etc.
- class IoMultiplexer
-
- # Create the empty stream array
- def initialize
- @streams = []
- end
-
- # @param args [Array<String>] Argument to send to the print method of each
- # stream
- def print(*args)
- @streams.each {|stream| stream.print(*args)}
- nil
- end
-
- # @param args [Array<String>] Argument to send to the printf method of each
- # stream
- def printf(*args)
- @streams.each {|stream| stream.printf(*args)}
- nil
- end
-
- # @param object [Object] Argument to send to the putc method of each
- # stream
- def putc(object)
- @streams.each {|stream| stream.putc(object)}
- object
- end
-
- # @param args [Array<String>] Argument to send to the puts method of each
- # stream
- def puts(*args)
- @streams.each {|stream| stream.puts(*args)}
- nil
- end
-
- # Calls flush on each stream
- def flush
- @streams.each {|stream| stream.flush}
- end
-
- # @param string [String] Argument to send to the write method of each
- # stream
- # @return [Integer] The length of the string argument
- def write(string)
- @streams.each {|stream| stream.write(string)}
- string.length
- end
-
- # @param string [String] Argument to send to the write_nonblock method of each
- # stream
- # @return [Integer] The length of the string argument
- def write_nonblock(string)
- @streams.each {|stream| stream.write_nonblock(string)}
- string.length
- end
-
- # Removes STDOUT and STDERR from the array of streams
- def remove_default_io
- @streams.delete(STDOUT)
- @streams.delete(STDERR)
- end
-
- # @param stream [IO] The stream to add
- def add_stream(stream)
- @streams << stream unless @streams.include?(stream)
- end
-
- # @param stream [IO] The stream to remove
- def remove_stream(stream)
- @streams.delete(stream)
- end
-
- end # class IoMultiplexer
-
-end # module Cosmos
+# encoding: ascii-8bit
+
+# Copyright 2014 Ball Aerospace & Technologies Corp.
+# All Rights Reserved.
+#
+# This program is free software; you can modify and/or redistribute it
+# under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 3 with
+# attribution addendums as found in the LICENSE.txt
+
+module Cosmos
+
+ # Adds IO streams and then defers to the streams when using any of the Ruby
+ # output methods such as print, puts, etc.
+ class IoMultiplexer
+
+ # Create the empty stream array
+ def initialize
+ @streams = []
+ end
+
+ # @param args [Array<String>] Argument to send to the print method of each
+ # stream
+ def print(*args)
+ @streams.each {|stream| stream.print(*args)}
+ nil
+ end
+
+ # @param args [Array<String>] Argument to send to the printf method of each
+ # stream
+ def printf(*args)
+ @streams.each {|stream| stream.printf(*args)}
+ nil
+ end
+
+ # @param object [Object] Argument to send to the putc method of each
+ # stream
+ def putc(object)
+ @streams.each {|stream| stream.putc(object)}
+ object
+ end
+
+ # @param args [Array<String>] Argument to send to the puts method of each
+ # stream
+ def puts(*args)
+ @streams.each {|stream| stream.puts(*args)}
+ nil
+ end
+
+ # Calls flush on each stream
+ def flush
+ @streams.each {|stream| stream.flush}
+ end
+
+ # @param string [String] Argument to send to the write method of each
+ # stream
+ # @return [Integer] The length of the string argument
+ def write(string)
+ @streams.each {|stream| stream.write(string)}
+ string.length
+ end
+
+ # @param string [String] Argument to send to the write_nonblock method of each
+ # stream
+ # @return [Integer] The length of the string argument
+ def write_nonblock(string)
+ @streams.each {|stream| stream.write_nonblock(string)}
+ string.length
+ end
+
+ # Removes STDOUT and STDERR from the array of streams
+ def remove_default_io
+ @streams.delete(STDOUT)
+ @streams.delete(STDERR)
+ end
+
+ # @param stream [IO] The stream to add
+ def add_stream(stream)
+ @streams << stream unless @streams.include?(stream)
+ end
+
+ # @param stream [IO] The stream to remove
+ def remove_stream(stream)
+ @streams.delete(stream)
+ end
+
+ end # class IoMultiplexer
+
+end # module Cosmos