class DarwinCore::Archive
Deals with handling DarwinCoreArchive file, and provides meta information and files information about archive
Attributes
eml[R]
meta[R]
Public Class Methods
new(archive_path, tmp_dir)
click to toggle source
# File lib/dwc_archive/archive.rb, line 9 def initialize(archive_path, tmp_dir) @archive_path = archive_path @tmp_dir = tmp_dir @expander = DarwinCore::Expander.new(@archive_path, @tmp_dir) @expander.unpack prepare_metadata end
Public Instance Methods
clean()
click to toggle source
# File lib/dwc_archive/archive.rb, line 31 def clean @expander.clean end
files()
click to toggle source
# File lib/dwc_archive/archive.rb, line 23 def files @expander.files end
files_path()
click to toggle source
# File lib/dwc_archive/archive.rb, line 27 def files_path @expander.path end
valid?()
click to toggle source
# File lib/dwc_archive/archive.rb, line 17 def valid? valid = true valid = valid && @expander.path && FileTest.exist?(@expander.path) valid && files && files.include?("meta.xml") end
Private Instance Methods
prepare_eml_file()
click to toggle source
# File lib/dwc_archive/archive.rb, line 52 def prepare_eml_file @eml = nil return unless files.include?("eml.xml") eml_file = File.open(File.join(@expander.path, "eml.xml")) @eml = DarwinCore::XmlReader.from_xml(eml_file) end
prepare_meta_file()
click to toggle source
# File lib/dwc_archive/archive.rb, line 47 def prepare_meta_file meta_file = File.open(File.join(@expander.path, "meta.xml")) @meta = DarwinCore::XmlReader.from_xml(meta_file) end
prepare_metadata()
click to toggle source
# File lib/dwc_archive/archive.rb, line 37 def prepare_metadata if valid? prepare_meta_file prepare_eml_file else clean raise InvalidArchiveError end end