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