Sha256: 3b4ef6307f901fa98a0d1ad4aa7a98f81a5fbc90c8fb71aa272fd200e2561923

Contents?: true

Size: 410 Bytes

Versions: 37

Compression:

Stored size: 410 Bytes

Contents

module Arql
  class MultiIO
    def initialize(*targets)
      @targets = targets
    end

    def write(*args)
      @targets.each {|t| t.write(*args)}
    end

    def close
      @targets.each(&:close)
    end

    def <<(target)
      @targets ||= []
      @targets << target
    end

    def delete(io)
      @targets.delete(io)
    end

    def include?(io)
      @targets.include?(io)
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
arql-0.1.32 lib/arql/multi_io.rb
arql-0.1.31 lib/arql/multi_io.rb
arql-0.1.30 lib/arql/multi_io.rb
arql-0.1.29 lib/arql/multi_io.rb
arql-0.1.28 lib/arql/multi_io.rb
arql-0.1.27 lib/arql/multi_io.rb
arql-0.1.26 lib/arql/multi_io.rb
arql-0.1.25 lib/arql/multi_io.rb
arql-0.1.24 lib/arql/multi_io.rb
arql-0.1.23 lib/arql/multi_io.rb
arql-0.1.22 lib/arql/multi_io.rb
arql-0.1.21 lib/arql/multi_io.rb
arql-0.1.20 lib/arql/multi_io.rb
arql-0.1.19 lib/arql/multi_io.rb
arql-0.1.18 lib/arql/multi_io.rb
arql-0.1.17 lib/arql/multi_io.rb
arql-0.1.16 lib/arql/multi_io.rb