class Ddr::IngestTools::DdrRdrMigrator::Migrator
Attributes
checksum_file[R]
files[R]
logger[R]
manifest[W]
metadata_file[R]
outfile[R]
Public Class Methods
new(checksum_file:, files:, logger: nil, metadata_file:, outfile:)
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 7 def initialize(checksum_file:, files:, logger: nil, metadata_file:, outfile:) @checksum_file = checksum_file @files = files @logger = logger || Logger.new(STDOUT) @metadata_file = metadata_file @outfile = outfile end
Public Instance Methods
call()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 15 def call sort_manifest rename_columns nest_works map_licenses overwrite_metadata add_file_paths remove_columns write_manifest end
Private Instance Methods
add_file_paths()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 37 def add_file_paths file_path_adder.call end
as_csv_table(file)
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 92 def as_csv_table(file) ManifestParser.new(file).as_csv_table end
column_remover()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 65 def column_remover ColumnRemover.new(logger: logger, manifest: manifest) end
column_renamer()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 57 def column_renamer ColumnRenamer.new(manifest: manifest) end
file_path_adder()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 69 def file_path_adder FilePathAdder.new(checksum_file: checksum_file, files: files, logger: logger, manifest: manifest) end
license_mapper()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 73 def license_mapper LicenseMapper.new(logger: logger, manifest: manifest) end
manifest()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 28 def manifest @manifest ||= as_csv_table(metadata_file) end
map_licenses()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 41 def map_licenses license_mapper.call end
metadata_overwriter()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 77 def metadata_overwriter MetadataOverwriter.new(logger: logger, manifest: manifest) end
nest_works()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 45 def nest_works work_nester.call end
overwrite_metadata()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 49 def overwrite_metadata metadata_overwriter.call end
remove_columns()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 61 def remove_columns self.manifest = column_remover.call end
rename_columns()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 53 def rename_columns self.manifest = column_renamer.call end
sort_manifest()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 32 def sort_manifest sorted = manifest.sort_by { |row| [ row['model'], row['pid'] ] } self.manifest = CSV::Table.new(sorted) end
work_nester()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 81 def work_nester WorkNester.new(logger: logger, manifest: manifest) end
write_manifest()
click to toggle source
# File lib/ddr/ingesttools/ddr_rdr_migrator/migrator.rb, line 85 def write_manifest File.open(outfile, 'w') do |f| f.write(manifest.to_csv) end logger.info("Updated manifest file is at #{outfile}") end