class Ssg::Unarchiver

Constants

UNZIP_CMD

Public Class Methods

new(ds_zip_filename, datastreams) click to toggle source
# File lib/ssg/unarchiver.rb, line 5
def initialize(ds_zip_filename, datastreams)
  @ds_zip_filename = ds_zip_filename
  @datastreams = datastreams
end
unarchive!(ds_zip_filenames, datastreams) click to toggle source
# File lib/ssg/unarchiver.rb, line 10
def self.unarchive!(ds_zip_filenames, datastreams)
  ds_zip_filenames.map do |version, ds_zip_filename|
    new(ds_zip_filename, [datastreams[version]].flatten).datastream_files
  end
end

Public Instance Methods

datastream_files() click to toggle source
# File lib/ssg/unarchiver.rb, line 16
def datastream_files
  datastream_filenames if system(
    *UNZIP_CMD, @ds_zip_filename, *datastream_filenames
  )
end

Private Instance Methods

datastream_dir() click to toggle source
# File lib/ssg/unarchiver.rb, line 30
def datastream_dir
  @ds_zip_filename.split('.')[0...-1].join('.')
end
datastream_filenames() click to toggle source
# File lib/ssg/unarchiver.rb, line 24
def datastream_filenames
  @datastreams.map do |datastream|
    "#{datastream_dir}/ssg-#{datastream}-ds.xml"
  end
end