Sha256: a232497a85e2b184608250c7386ed97cd5c1634737a5c3e2114b91105836b20d
Contents?: true
Size: 601 Bytes
Versions: 9
Compression:
Stored size: 601 Bytes
Contents
module DeadlySerious module Processes class Splitter def initialize Signal.trap('USR1') { @outputs = @writers.dup } end def run(readers: [], writers: []) @writers ||= writers reader = readers.first @outputs = @writers.dup begin reader.each do |line| @current = @outputs.first @current << line @outputs.rotate! end rescue => e puts e.inspect @outputs.delete(@current) raise e if @outputs.empty? retry end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems