Method: IMS::CC::Manifest.read

Defined in:
lib/ims/cc/manifest.rb

.read(backup_file) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ims/cc/manifest.rb', line 12

def self.read(backup_file)
  if File.extname(backup_file) == ".xml"
    manifest = parse File.read(backup_file)
    manifest.manifest_file = backup_file
    manifest.post_process
    manifest
  else
    Zip::File.open(backup_file) do |zipfile|
      entry = zipfile.get_entry("imsmanifest.xml")
      xml = entry.get_input_stream.read
      manifest = parse xml
      manifest.cartridge_zip_file = backup_file
      manifest.post_process
      manifest
    end
  end
end