app/models/bulkrax/entry.rb in bulkrax-3.2.0 vs app/models/bulkrax/entry.rb in bulkrax-3.3.0

- old
+ new

@@ -2,10 +2,12 @@ module Bulkrax # Custom error class for collections_created? class CollectionsCreatedError < RuntimeError; end class OAIError < RuntimeError; end + # TODO: remove when ApplicationParser#bagit_zip_file_size_check is removed + class BagitZipError < RuntimeError; end class Entry < ApplicationRecord include Bulkrax::HasMatchers include Bulkrax::ImportBehavior include Bulkrax::ExportBehavior include Bulkrax::StatusInfo @@ -32,10 +34,11 @@ to: :importerexporter delegate :client, :collection_name, :user, + :generated_metadata_mapping, :related_parents_raw_mapping, :related_parents_parsed_mapping, :related_children_raw_mapping, :related_children_parsed_mapping, to: :parser @@ -66,9 +69,18 @@ parser&.source_identifier&.to_s || 'source_identifier' end def work_identifier parser&.work_identifier&.to_s || 'source' + end + + # Returns field_mapping hash based on whether or not generated metadata should be included + def fetch_field_mapping + return self.mapping if importerexporter.generated_metadata + + self.mapping.each do |key, value| + self.mapping.delete(key) if value[generated_metadata_mapping] + end end def self.parent_field(parser) parser.related_parents_parsed_mapping end