Sha256: fb29ab17f8a52ee8cc81a05ac266887f818d29976001f2ad36fc253087e886fe
Contents?: true
Size: 1.24 KB
Versions: 9
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true module Bulkrax module FileSetEntryBehavior def factory_class ::FileSet end def add_path_to_file parsed_metadata['file'].each_with_index do |filename, i| next if filename.blank? path_to_file = parser.path_to_files(filename: filename) parsed_metadata['file'][i] = path_to_file end parsed_metadata['file'].delete('') raise ::StandardError, "one or more file paths are invalid: #{parsed_metadata['file'].join(', ')}" unless parsed_metadata['file'].map { |file_path| ::File.file?(file_path) }.all? parsed_metadata['file'] end def validate_presence_of_filename! return if parsed_metadata&.[]('file')&.map(&:present?)&.any? raise StandardError, 'File set must have a filename' end def validate_presence_of_parent! return if parsed_metadata[related_parents_parsed_mapping]&.map(&:present?)&.any? raise StandardError, 'File set must be related to at least one work' end def parent_jobs false # FileSet relationships are handled in ObjectFactory#create_file_set end def child_jobs raise ::StandardError, 'A FileSet cannot be a parent of a Collection, Work, or other FileSet' end end end
Version data entries
9 entries across 9 versions & 1 rubygems