class Merritt::Manifest::DataONE
A specialization of {Manifest} for DataONE
.
Constants
- DATA_FILE
- METADATA_FILE
- METADATA_FILES
- METADATA_FORMAT
- MIME_TYPE
Public Class Methods
new(files:)
click to toggle source
Creates a new {Manifest::DataONE} @param files [Array<Manifest::File>] an array of data files to be converted to entries.
(Note that these not be actual {Manifest::File} objects so long as they respond to `#file_name` and `#mime_type`)
Calls superclass method
Merritt::Manifest::new
# File lib/merritt/manifest/data_one.rb, line 12 def initialize(files:) super( conformance: 'dataonem_0.1', profile: 'http://uc3.cdlib.org/registry/ingest/manifest/mrt-dataone-manifest', prefixes: { dom: 'http://uc3.cdlib.org/ontology/dataonem', mrt: 'http://uc3.cdlib.org/ontology/mom' }, fields: [METADATA_FILE, METADATA_FORMAT, DATA_FILE, MIME_TYPE], entries: to_entries(files) ) end
Private Instance Methods
to_entries(files)
click to toggle source
# File lib/merritt/manifest/data_one.rb, line 37 def to_entries(files) rows = files.product(METADATA_FILES.to_a).map(&:flatten) rows.map do |file, md_name, md_url| { METADATA_FILE => md_name, METADATA_FORMAT => md_url, DATA_FILE => file.file_name, MIME_TYPE => Merritt::Manifest::Fields::Object::MIME_TYPE.value_from(file) } end end