class Shredder::StdIO

Public Class Methods

new(*args) click to toggle source

this one takes shred filenames and uses $stdin or $stdout appropriately.

# File lib/shredder/stdio.rb, line 5
def initialize(*args)
  @shreds = shred_files(*args)
end

Public Instance Methods

sew(limit=0) click to toggle source
# File lib/shredder/stdio.rb, line 20
def sew(limit=0)
  readers = count = nil
  begin
    readers = @shreds.map{|shred| File.open(shred, 'r')}
    count   = Streams.new($stdout, readers).sew(limit: limit)
  ensure
    readers.each{|reader| reader.close}  if readers
  end
  return count
end
shred(limit=0) click to toggle source
# File lib/shredder/stdio.rb, line 9
def shred(limit=0)
  writers = count = nil
  begin
    writers = @shreds.map{|shred| File.open(shred, 'wb')}
    count   = Streams.new($stdin, writers).shred(limit: limit)
  ensure
    writers.each{|writer| writer.close}  if writers
  end
  return count
end