module Shredder
Constants
- VERSION
Attributes
sewn[RW]
shreds[RW]
Public Instance Methods
sew(shreds=@shreds, sewn=(@sewn or $stdout), readers: shreds, writer: sewn, limit: 0)
click to toggle source
note that these are streams
# File lib/shredder/shredder.rb, line 17 def sew(shreds=@shreds, sewn=(@sewn or $stdout), readers: shreds, writer: sewn, limit: 0) shreds,xor,count = readers.length,0,0 while byte = readers[count%shreds].getbyte do writer.putc(xor=(byte^xor)) count += 1 # note that 0 is skipped break if count == limit end return count end
shred(sewn=(@sewn or $stdin), shreds=@shreds, writers: shreds, reader: sewn, limit: 0)
click to toggle source
note that these are streams
# File lib/shredder/shredder.rb, line 5 def shred(sewn=(@sewn or $stdin), shreds=@shreds, writers: shreds, reader: sewn, limit: 0) shreds,xor,count = writers.length,0,0 while byte = reader.getbyte do writers[count%shreds].putc(xor^(xor=byte)) count += 1 # not that 0 is skipped break if count == limit end return count end
shred_files(b, m=2, basename: b, n: m)
click to toggle source
# File lib/shredder/shredder.rb, line 28 def shred_files(b, m=2, basename: b, n: m) case basename when Array basename when String (1..n).map{|i| "#{basename}.#{i}"} when Integer (1..basename).map{|i| "#{@sewn or 'shred'}.#{i}"} else raise "Expected basename Array|String|Integer" end end