Class: Arql::MultiIO
Instance Method Summary collapse
- #<<(target) ⇒ Object
- #close ⇒ Object
- #delete(io) ⇒ Object
- #include?(io) ⇒ Boolean
-
#initialize(*targets) ⇒ MultiIO
constructor
A new instance of MultiIO.
- #write(*args) ⇒ Object
Constructor Details
#initialize(*targets) ⇒ MultiIO
Returns a new instance of MultiIO.
3 4 5 |
# File 'lib/arql/multi_io.rb', line 3 def initialize(*targets) @targets = targets end |
Instance Method Details
#<<(target) ⇒ Object
22 23 24 25 |
# File 'lib/arql/multi_io.rb', line 22 def <<(target) @targets ||= [] @targets << target end |
#close ⇒ Object
18 19 20 |
# File 'lib/arql/multi_io.rb', line 18 def close @targets.each(&:close) end |
#delete(io) ⇒ Object
27 28 29 |
# File 'lib/arql/multi_io.rb', line 27 def delete(io) @targets.delete(io) end |
#include?(io) ⇒ Boolean
31 32 33 |
# File 'lib/arql/multi_io.rb', line 31 def include?(io) @targets.include?(io) end |
#write(*args) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/arql/multi_io.rb', line 7 def write(*args) @targets.each do |t| if t.isatty t.write(*args) else t.write(*(args.map { |str| str.gsub(/\e\[(\d+)m/, '')})) end t.flush end end |