class CPIO::ArchiveWriter

Public Class Methods

new(io) click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 205
def initialize(io)
  @io = io
  @open = false
end

Public Instance Methods

add_file(name, mode = 0444) { |file| ... } click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 228
def add_file(name, mode = 0444)
  file = StringIO.new
  yield(file)
  entry = ArchiveEntry.new_file(:name => name, :mode => mode, :io => file)
  @io.write(entry.to_data)
end
mkdir(name, mode = 0555) click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 223
def mkdir(name, mode = 0555)
  entry = ArchiveEntry.new_directory(:name => name, :mode => mode)
  @io.write(entry.to_data)
end
open() { |self| ... } click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 214
def open
  raise ArchiveFinalizedError, "This archive has already been finalized" if @finalized
  @open = true
  yield(self)
ensure
  close
  finalize
end
open?() click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 210
def open?
  @open
end

Private Instance Methods

add_entry(opts) click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 237
def add_entry(opts)
end
check_open() click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 250
def check_open
  raise "#{self.class.name} not open for writing" unless open?
end
close() click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 254
def close
  @open = false
end
finalize() click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 245
def finalize
  write_trailer
  @finalized = true
end
write_trailer() click to toggle source
# File lib/excavate/extractors/cpio/cpio_old_format.rb, line 240
def write_trailer
  entry = ArchiveEntry.new_trailer
  @io.write(entry.to_data)
end