class Archive::Ar::Writer
Public Class Methods
new(filenames)
click to toggle source
# File lib/archive/ar/writer.rb, line 4 def initialize(filenames) @filenames = filenames @format = Archive::Ar::Format::BSD end
Public Instance Methods
build_ar()
click to toggle source
# File lib/archive/ar/writer.rb, line 16 def build_ar @filenames.collect do |f| build_ar_entry(f) end end
build_ar_entry(file)
click to toggle source
# File lib/archive/ar/writer.rb, line 9 def build_ar_entry(file) header = @format.build_header(file) data = File.read(file) data += "\n" if (data.length + header.length) % 2 == 1 [header, data].join end
write(dest_file, options = {})
click to toggle source
# File lib/archive/ar/writer.rb, line 22 def write(dest_file, options = {}) File.open(dest_file, 'w') do |f| data = build_ar.join("") f.write(Archive::Ar::MAGIC) f.write(data) end end