class Ddr::IngestTools::DdrRdrMigrator::MetadataOverwriter

Constants

OVERWRITTEN_FIELDS

Attributes

logger[R]
manifest[R]

Public Class Methods

new(logger: nil, manifest:) click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 8
def initialize(logger: nil, manifest:)
  @logger = logger || Logger.new(STDOUT)
  @manifest = manifest
end

Public Instance Methods

call() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 13
def call
  overwrite
  manifest
end

Private Instance Methods

collection_overwriting_attributes() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 41
def collection_overwriting_attributes
  @overwriting_attributes ||= populate_overwriting_attributes
end
collection_row() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 25
def collection_row
  @collection_row = manifest.find { |row| row['model'] == 'Collection' }
end
item_rows() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 29
def item_rows
  manifest.select { |row| row['model'] == 'Item' }
end
overwrite() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 20
def overwrite
  populate_overwriting_attributes
  overwrite_values
end
overwrite_values() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 33
def overwrite_values
  item_rows.each do |row|
    collection_overwriting_attributes.each do |field, value|
      row[field] = value
    end
  end
end
populate_overwriting_attributes() click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/metadata_overwriter.rb, line 45
def populate_overwriting_attributes
  attrs = {}
  OVERWRITTEN_FIELDS.each do |field|
    attrs[field] = collection_row[field] if collection_row[field]
  end
  attrs
end