Sha256: 2e23f3fb5252831d4012c4094ba836fe564f7dbe07420f35c12d1ee47cf9d99a
Contents?: true
Size: 911 Bytes
Versions: 40
Compression:
Stored size: 911 Bytes
Contents
require 'nokogiri' class DarwinCore class Archive attr_reader :meta, :eml def initialize(archive_path, tmp_dir) @archive_path = archive_path @tmp_dir = tmp_dir @expander = DarwinCore::Expander.new(@archive_path, @tmp_dir) @expander.unpack if valid? @meta = DarwinCore::XmlReader.from_xml(open(File.join(@expander.path, 'meta.xml'))) @eml = files.include?("eml.xml") ? DarwinCore::XmlReader.from_xml(open(File.join(@expander.path, 'eml.xml'))) : nil else clean raise InvalidArchiveError end end def valid? valid = true valid = valid && @expander.path && FileTest.exists?(@expander.path) valid = valid && files && files.include?('meta.xml') end def files @expander.files end def files_path @expander.path end def clean @expander.clean end end end
Version data entries
40 entries across 40 versions & 1 rubygems