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