Class: SdrClient::Deposit::ModelProcess
- Inherits:
-
Object
- Object
- SdrClient::Deposit::ModelProcess
- Defined in:
- lib/sdr_client/deposit/model_process.rb
Overview
The process for doing a deposit from a Cocina Model
Instance Method Summary collapse
-
#initialize(request_dro:, connection:, accession:, basepath:, priority: nil, files: [], assign_doi: false, logger: Logger.new($stdout)) ⇒ ModelProcess
constructor
A new instance of ModelProcess.
- #run ⇒ Object
Constructor Details
#initialize(request_dro:, connection:, accession:, basepath:, priority: nil, files: [], assign_doi: false, logger: Logger.new($stdout)) ⇒ ModelProcess
Returns a new instance of ModelProcess.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/sdr_client/deposit/model_process.rb', line 16 def initialize(request_dro:, # rubocop:disable Metrics/ParameterLists connection:, accession:, basepath:, priority: nil, files: [], assign_doi: false, logger: Logger.new($stdout)) @files = files @basepath = basepath @connection = connection @request_dro = request_dro @logger = logger @accession = accession @priority = priority @assign_doi = assign_doi end |
Instance Method Details
#run ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/sdr_client/deposit/model_process.rb', line 34 def run check_files_exist child_files_match # file_metadata is a map of relative filepaths to Files::DirectUploadRequests = UploadFilesMetadataBuilder.build(files: files, mime_types: mime_types, basepath: basepath) # upload_response is an array of Files::DirectUploadResponse upload_responses = UploadFiles.upload(file_metadata: , filepath_map: filepath_map, logger: logger, connection: connection) new_request_dro = UpdateDroWithFileIdentifiers.update(request_dro: request_dro, upload_responses: upload_responses) CreateResource.run(accession: @accession, priority: @priority, assign_doi: @assign_doi, metadata: new_request_dro, logger: logger, connection: connection) end |